전 저장소 리팩터링과 SSOT 정비
This commit is contained in:
parent
14ecbd4e7d
commit
3dfddcac6f
173 changed files with 19679 additions and 6952 deletions
|
|
@ -818,6 +818,29 @@ export interface paths {
|
|||
patch?: never;
|
||||
trace?: never;
|
||||
};
|
||||
"/personas/sources/upload": {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
path?: never;
|
||||
cookie?: never;
|
||||
};
|
||||
get?: never;
|
||||
put?: never;
|
||||
/**
|
||||
* Upload Persona Source Route
|
||||
* @description 자유 양식 엑셀/CSV 업로드 → 텍스트 변환 → 기존 source 등록 경로 재사용 (P4).
|
||||
*
|
||||
* 업로드 원본 바이트는 이 핸들러 메모리에서만 파싱하고 저장하지 않는다(원본 파기).
|
||||
* 파생 텍스트만 기존 마스킹·hash-only 증거·sanitized chunk 경로로 등록된다.
|
||||
*/
|
||||
post: operations["upload_persona_source_route_personas_sources_upload_post"];
|
||||
delete?: never;
|
||||
options?: never;
|
||||
head?: never;
|
||||
patch?: never;
|
||||
trace?: never;
|
||||
};
|
||||
"/personas/{persona_id}": {
|
||||
parameters: {
|
||||
query?: never;
|
||||
|
|
@ -1972,6 +1995,27 @@ export interface components {
|
|||
*/
|
||||
file: string;
|
||||
};
|
||||
/** Body_upload_persona_source_route_personas_sources_upload_post */
|
||||
Body_upload_persona_source_route_personas_sources_upload_post: {
|
||||
/**
|
||||
* File
|
||||
* Format: binary
|
||||
*/
|
||||
file: string;
|
||||
/**
|
||||
* Source Kind
|
||||
* @default mixed_notes
|
||||
* @enum {string}
|
||||
*/
|
||||
source_kind: "client_record" | "textbook_guide" | "mixed_notes";
|
||||
/**
|
||||
* Source Note
|
||||
* @default
|
||||
*/
|
||||
source_note: string;
|
||||
/** Title */
|
||||
title?: string | null;
|
||||
};
|
||||
/** ChunkOut */
|
||||
ChunkOut: {
|
||||
/** Behavior Cue */
|
||||
|
|
@ -2433,6 +2477,11 @@ export interface components {
|
|||
persona_code: string;
|
||||
/** Persona Name */
|
||||
persona_name: string;
|
||||
/**
|
||||
* Rapport Percent
|
||||
* @default 0
|
||||
*/
|
||||
rapport_percent: number;
|
||||
/**
|
||||
* Review Ready Sessions
|
||||
* @default 0
|
||||
|
|
@ -3467,14 +3516,22 @@ export interface components {
|
|||
SessionDetailResponse: {
|
||||
/** Case Id */
|
||||
case_id: string;
|
||||
/**
|
||||
* Duration Limit Seconds
|
||||
* @default 0
|
||||
*/
|
||||
duration_limit_seconds: number;
|
||||
/** Effective Openness */
|
||||
effective_openness: number;
|
||||
/** Ended At */
|
||||
ended_at?: string | null;
|
||||
/** Goal Stages */
|
||||
goal_stages?: ("라포" | "탐색" | "개입" | "정리")[];
|
||||
/** Persona Code */
|
||||
persona_code: string;
|
||||
/** Persona Name */
|
||||
persona_name: string;
|
||||
progress?: components["schemas"]["SessionProgress"] | null;
|
||||
/**
|
||||
* Review Ready
|
||||
* @default false
|
||||
|
|
@ -3498,6 +3555,11 @@ export interface components {
|
|||
theory_mode: string;
|
||||
/** Turns */
|
||||
turns?: components["schemas"]["SessionDetailTurn"][];
|
||||
/**
|
||||
* Warning Before End Seconds
|
||||
* @default 0
|
||||
*/
|
||||
warning_before_end_seconds: number;
|
||||
};
|
||||
/** SessionDetailTurn */
|
||||
SessionDetailTurn: {
|
||||
|
|
@ -3575,6 +3637,34 @@ export interface components {
|
|||
*/
|
||||
turns_evaluated: number;
|
||||
};
|
||||
/**
|
||||
* SessionProgress
|
||||
* @description 회기 진행 상세(P2). 내부 원값 명칭 대신 학습자-안전 파생 %만 노출한다.
|
||||
*/
|
||||
SessionProgress: {
|
||||
/**
|
||||
* Openness Percent
|
||||
* @default 0
|
||||
*/
|
||||
openness_percent: number;
|
||||
/**
|
||||
* Rapport Delta Percent
|
||||
* @default 0
|
||||
*/
|
||||
rapport_delta_percent: number;
|
||||
/**
|
||||
* Rapport Percent
|
||||
* @default 0
|
||||
*/
|
||||
rapport_percent: number;
|
||||
/**
|
||||
* Resistance Percent
|
||||
* @default 0
|
||||
*/
|
||||
resistance_percent: number;
|
||||
/** Stages */
|
||||
stages?: components["schemas"]["SessionStageProgress"][];
|
||||
};
|
||||
/** SessionReviewResponse */
|
||||
SessionReviewResponse: {
|
||||
/** Audiourl */
|
||||
|
|
@ -3656,8 +3746,36 @@ export interface components {
|
|||
/** Title */
|
||||
title: string;
|
||||
};
|
||||
/**
|
||||
* SessionStageProgress
|
||||
* @description 단계별 누적 게이지(P2). 상태머신 결정론 수치의 파생값만 담는다.
|
||||
*/
|
||||
SessionStageProgress: {
|
||||
/**
|
||||
* Achieved
|
||||
* @default false
|
||||
*/
|
||||
achieved: boolean;
|
||||
/**
|
||||
* Is Goal
|
||||
* @default false
|
||||
*/
|
||||
is_goal: boolean;
|
||||
/**
|
||||
* Percent
|
||||
* @default 0
|
||||
*/
|
||||
percent: number;
|
||||
/**
|
||||
* Stage
|
||||
* @enum {string}
|
||||
*/
|
||||
stage: "라포" | "탐색" | "개입" | "정리";
|
||||
};
|
||||
/** SessionStartRequest */
|
||||
SessionStartRequest: {
|
||||
/** Goal Stages */
|
||||
goal_stages?: ("라포" | "탐색" | "개입" | "정리")[];
|
||||
/**
|
||||
* Persona Code
|
||||
* @example P1
|
||||
|
|
@ -3679,8 +3797,15 @@ export interface components {
|
|||
* @default false
|
||||
*/
|
||||
degraded: boolean;
|
||||
/**
|
||||
* Duration Limit Seconds
|
||||
* @default 0
|
||||
*/
|
||||
duration_limit_seconds: number;
|
||||
/** Effective Openness */
|
||||
effective_openness: number;
|
||||
/** Goal Stages */
|
||||
goal_stages?: ("라포" | "탐색" | "개입" | "정리")[];
|
||||
/** Recall Summary */
|
||||
recall_summary?: string | null;
|
||||
/** Session Id */
|
||||
|
|
@ -3692,6 +3817,16 @@ export interface components {
|
|||
* @enum {string}
|
||||
*/
|
||||
stage: "라포" | "탐색" | "개입" | "정리";
|
||||
/**
|
||||
* Started At
|
||||
* @default
|
||||
*/
|
||||
started_at: string;
|
||||
/**
|
||||
* Warning Before End Seconds
|
||||
* @default 0
|
||||
*/
|
||||
warning_before_end_seconds: number;
|
||||
};
|
||||
/** SessionTeacherReviewStatus */
|
||||
SessionTeacherReviewStatus: {
|
||||
|
|
@ -4057,8 +4192,9 @@ export interface components {
|
|||
/**
|
||||
* Appropriateness
|
||||
* @default neutral
|
||||
* @enum {string}
|
||||
*/
|
||||
appropriateness: string;
|
||||
appropriateness: "pos" | "warn" | "neutral";
|
||||
/** Appropriateness Note */
|
||||
appropriateness_note?: string | null;
|
||||
/** Client State Read */
|
||||
|
|
@ -4117,6 +4253,7 @@ export interface components {
|
|||
effective_openness: number;
|
||||
/** Output Error */
|
||||
output_error?: string | null;
|
||||
progress?: components["schemas"]["SessionProgress"] | null;
|
||||
/**
|
||||
* Safety Flagged
|
||||
* @default false
|
||||
|
|
@ -5915,6 +6052,42 @@ export interface operations {
|
|||
};
|
||||
};
|
||||
};
|
||||
upload_persona_source_route_personas_sources_upload_post: {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
path?: never;
|
||||
cookie?: {
|
||||
"__Host-vignette_sid"?: string | null;
|
||||
vignette_sid?: string | null;
|
||||
};
|
||||
};
|
||||
requestBody: {
|
||||
content: {
|
||||
"multipart/form-data": components["schemas"]["Body_upload_persona_source_route_personas_sources_upload_post"];
|
||||
};
|
||||
};
|
||||
responses: {
|
||||
/** @description Successful Response */
|
||||
201: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
"application/json": components["schemas"]["PersonaSourceDocumentResponse"];
|
||||
};
|
||||
};
|
||||
/** @description Validation Error */
|
||||
422: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
"application/json": components["schemas"]["HTTPValidationError"];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
archive_persona_route_personas__persona_id__delete: {
|
||||
parameters: {
|
||||
query?: never;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue