전 저장소 리팩터링과 SSOT 정비

This commit is contained in:
Yun Chan 2026-07-15 21:31:30 +09:00
parent 14ecbd4e7d
commit 3dfddcac6f
173 changed files with 19679 additions and 6952 deletions

View file

@ -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;