개선관리 요구사항과 Google 로그인을 완료
This commit is contained in:
parent
cc0a15b7c6
commit
2a39636163
112 changed files with 10166 additions and 527 deletions
|
|
@ -128,6 +128,58 @@ export interface paths {
|
|||
patch?: never;
|
||||
trace?: never;
|
||||
};
|
||||
"/admin/protocols": {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
path?: never;
|
||||
cookie?: never;
|
||||
};
|
||||
/** List Admin Protocols */
|
||||
get: operations["list_admin_protocols_admin_protocols_get"];
|
||||
put?: never;
|
||||
/** Create Admin Protocol */
|
||||
post: operations["create_admin_protocol_admin_protocols_post"];
|
||||
delete?: never;
|
||||
options?: never;
|
||||
head?: never;
|
||||
patch?: never;
|
||||
trace?: never;
|
||||
};
|
||||
"/admin/protocols/{protocol_id}/activate": {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
path?: never;
|
||||
cookie?: never;
|
||||
};
|
||||
get?: never;
|
||||
put?: never;
|
||||
/** Activate Admin Protocol */
|
||||
post: operations["activate_admin_protocol_admin_protocols__protocol_id__activate_post"];
|
||||
delete?: never;
|
||||
options?: never;
|
||||
head?: never;
|
||||
patch?: never;
|
||||
trace?: never;
|
||||
};
|
||||
"/admin/protocols/{protocol_id}/retire": {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
path?: never;
|
||||
cookie?: never;
|
||||
};
|
||||
get?: never;
|
||||
put?: never;
|
||||
/** Retire Admin Protocol */
|
||||
post: operations["retire_admin_protocol_admin_protocols__protocol_id__retire_post"];
|
||||
delete?: never;
|
||||
options?: never;
|
||||
head?: never;
|
||||
patch?: never;
|
||||
trace?: never;
|
||||
};
|
||||
"/admin/tickets": {
|
||||
parameters: {
|
||||
query?: never;
|
||||
|
|
@ -1218,7 +1270,8 @@ export interface paths {
|
|||
* @description 문서 인덱싱(관리자, RBAC ADMIN 강제). content_hash 증분 + 청크 임베딩 적재.
|
||||
*
|
||||
* ⚠️ 임베딩은 무거운 작업 → 본래 BackgroundTasks/배치 워커 위임 권장(202 Accepted).
|
||||
* DSM verbatim 저작권(license C/D)은 source 등록 시점 external_llm_ok 가드 책임.
|
||||
* source_id는 사전 등록된 kb.source만 허용하고, 라이선스와 프로토콜 active 상태는
|
||||
* 요청값이 아닌 DB 행으로 검증한다.
|
||||
* 모델 미가용 시 embedding NULL 폴백(BM25 만, degraded=True) — 크래시 X.
|
||||
*/
|
||||
post: operations["index_document_kb_index_post"];
|
||||
|
|
@ -2573,8 +2626,8 @@ export interface components {
|
|||
};
|
||||
/** ActualTransferExecutionResponse */
|
||||
ActualTransferExecutionResponse: {
|
||||
assessment: components["schemas"]["ActualTransferAssessment"];
|
||||
execution: components["schemas"]["ActualTransferExecution"];
|
||||
assessment?: components["schemas"]["ActualTransferAssessment"] | null;
|
||||
execution?: components["schemas"]["ActualTransferExecution"] | null;
|
||||
/** Idempotent Replay */
|
||||
idempotent_replay: boolean;
|
||||
};
|
||||
|
|
@ -2738,6 +2791,89 @@ export interface components {
|
|||
/** Smtp Configured */
|
||||
smtp_configured: boolean;
|
||||
};
|
||||
/** AdminProtocolActivationResponse */
|
||||
AdminProtocolActivationResponse: {
|
||||
/** Chunks Indexed */
|
||||
chunks_indexed: number;
|
||||
/** Degraded */
|
||||
degraded: boolean;
|
||||
/** Embedded */
|
||||
embedded: boolean;
|
||||
protocol: components["schemas"]["AdminProtocolResponse"];
|
||||
/** Skipped Unchanged */
|
||||
skipped_unchanged: boolean;
|
||||
};
|
||||
/** AdminProtocolCreate */
|
||||
AdminProtocolCreate: {
|
||||
/** Content */
|
||||
content: string;
|
||||
/**
|
||||
* External Llm Ok
|
||||
* @default false
|
||||
*/
|
||||
external_llm_ok: boolean;
|
||||
/**
|
||||
* License
|
||||
* @enum {string}
|
||||
*/
|
||||
license: "A" | "B" | "C" | "D";
|
||||
/** Source */
|
||||
source: string;
|
||||
/** Title */
|
||||
title: string;
|
||||
/**
|
||||
* Version
|
||||
* @default 1
|
||||
*/
|
||||
version: number;
|
||||
};
|
||||
/** AdminProtocolListResponse */
|
||||
AdminProtocolListResponse: {
|
||||
/** Protocols */
|
||||
protocols: components["schemas"]["AdminProtocolResponse"][];
|
||||
/** Total */
|
||||
total: number;
|
||||
};
|
||||
/** AdminProtocolResponse */
|
||||
AdminProtocolResponse: {
|
||||
/** Activated At */
|
||||
activated_at?: string | null;
|
||||
/** Content */
|
||||
content: string;
|
||||
/** Content Hash */
|
||||
content_hash: string;
|
||||
/** External Llm Ok */
|
||||
external_llm_ok: boolean;
|
||||
/**
|
||||
* License
|
||||
* @enum {string}
|
||||
*/
|
||||
license: "A" | "B" | "C" | "D";
|
||||
/** Protocol Id */
|
||||
protocol_id: string;
|
||||
/**
|
||||
* Registered At
|
||||
* Format: date-time
|
||||
*/
|
||||
registered_at: string;
|
||||
/** Registered By */
|
||||
registered_by: string;
|
||||
/** Retired At */
|
||||
retired_at?: string | null;
|
||||
/** Source */
|
||||
source: string;
|
||||
/** Source Id */
|
||||
source_id: string;
|
||||
/**
|
||||
* Status
|
||||
* @enum {string}
|
||||
*/
|
||||
status: "draft" | "active" | "retired";
|
||||
/** Title */
|
||||
title: string;
|
||||
/** Version */
|
||||
version: number;
|
||||
};
|
||||
/** AdminServiceHealth */
|
||||
AdminServiceHealth: {
|
||||
/** Detail */
|
||||
|
|
@ -3073,10 +3209,11 @@ export interface components {
|
|||
AdminUserCreate: {
|
||||
/**
|
||||
* Account Status
|
||||
* @default approved
|
||||
* @default pending
|
||||
* @constant
|
||||
* @enum {string}
|
||||
*/
|
||||
account_status: "pending" | "approved" | "suspended";
|
||||
account_status: "pending";
|
||||
/**
|
||||
* Admin Access
|
||||
* @default false
|
||||
|
|
@ -3090,6 +3227,11 @@ export interface components {
|
|||
display_name: string;
|
||||
/** Email */
|
||||
email: string;
|
||||
/**
|
||||
* Learner Feedback Enabled
|
||||
* @default true
|
||||
*/
|
||||
learner_feedback_enabled: boolean;
|
||||
/**
|
||||
* Role
|
||||
* @default learner
|
||||
|
|
@ -3116,6 +3258,8 @@ export interface components {
|
|||
cohort_ids?: string[] | null;
|
||||
/** Display Name */
|
||||
display_name?: string | null;
|
||||
/** Learner Feedback Enabled */
|
||||
learner_feedback_enabled?: boolean | null;
|
||||
/** Role */
|
||||
role?: ("learner" | "teacher" | "admin") | null;
|
||||
};
|
||||
|
|
@ -3142,6 +3286,8 @@ export interface components {
|
|||
email: string;
|
||||
/** Last Seen At */
|
||||
last_seen_at: number;
|
||||
/** Learner Feedback Enabled */
|
||||
learner_feedback_enabled: boolean;
|
||||
/**
|
||||
* Role
|
||||
* @enum {string}
|
||||
|
|
@ -5881,6 +6027,58 @@ export interface components {
|
|||
* @default runtime
|
||||
*/
|
||||
source: string;
|
||||
training_exposure?: components["schemas"]["LearnerDashboardTrainingExposure"];
|
||||
};
|
||||
/** LearnerDashboardTrainingExposure */
|
||||
LearnerDashboardTrainingExposure: {
|
||||
/**
|
||||
* Attention Threshold
|
||||
* @default 0.75
|
||||
*/
|
||||
attention_threshold: number;
|
||||
/**
|
||||
* Completed Sessions
|
||||
* @default 0
|
||||
*/
|
||||
completed_sessions: number;
|
||||
/**
|
||||
* Definition
|
||||
* @default 종료 회기의 페르소나별 최다 노출 비중을 보여 주는 투명한 훈련 노출 지표이며, 공정성 평가나 임상진단이 아닙니다.
|
||||
*/
|
||||
definition: string;
|
||||
/** Dominant Persona Code */
|
||||
dominant_persona_code?: string | null;
|
||||
/** Dominant Persona Name */
|
||||
dominant_persona_name?: string | null;
|
||||
/**
|
||||
* Dominant Sessions
|
||||
* @default 0
|
||||
*/
|
||||
dominant_sessions: number;
|
||||
/** Dominant Share */
|
||||
dominant_share?: number | null;
|
||||
/**
|
||||
* Label
|
||||
* @default 판정 근거 부족
|
||||
* @enum {string}
|
||||
*/
|
||||
label: "판정 근거 부족" | "훈련 집중 주의" | "균형";
|
||||
/**
|
||||
* Minimum Completed Sessions
|
||||
* @default 4
|
||||
*/
|
||||
minimum_completed_sessions: number;
|
||||
/**
|
||||
* Status
|
||||
* @default insufficient
|
||||
* @enum {string}
|
||||
*/
|
||||
status: "insufficient" | "attention" | "balanced";
|
||||
/**
|
||||
* Version
|
||||
* @default training-exposure-dominant-share.v1
|
||||
*/
|
||||
version: string;
|
||||
};
|
||||
/** LearnerRefMapping */
|
||||
LearnerRefMapping: {
|
||||
|
|
@ -5905,6 +6103,11 @@ export interface components {
|
|||
client_turn_count: number;
|
||||
/** Ended At */
|
||||
ended_at?: string | null;
|
||||
/**
|
||||
* Learner Feedback Enabled
|
||||
* @default true
|
||||
*/
|
||||
learner_feedback_enabled: boolean;
|
||||
/** Learner Turn Count */
|
||||
learner_turn_count: number;
|
||||
/** Persona Code */
|
||||
|
|
@ -8678,6 +8881,62 @@ export interface components {
|
|||
/** Persona */
|
||||
persona: string;
|
||||
};
|
||||
/** ReviewFirstSessionChecklist */
|
||||
ReviewFirstSessionChecklist: {
|
||||
/**
|
||||
* Applicable
|
||||
* @default true
|
||||
*/
|
||||
applicable: boolean;
|
||||
/** Criteria */
|
||||
criteria?: components["schemas"]["ReviewFirstSessionChecklistCriterion"][];
|
||||
/**
|
||||
* Note
|
||||
* @default 축어록에서 관찰 가능한 대화 행동을 규칙 기반으로 점검하며, 임상 평가나 성적 판정이 아닙니다.
|
||||
*/
|
||||
note: string;
|
||||
/**
|
||||
* Status
|
||||
* @default ready
|
||||
* @enum {string}
|
||||
*/
|
||||
status: "ready" | "not_applicable";
|
||||
/**
|
||||
* Title
|
||||
* @default 첫 회기 라포·개방질문 체크리스트
|
||||
*/
|
||||
title: string;
|
||||
/**
|
||||
* Version
|
||||
* @default first-session-rapport-open-question.v1
|
||||
*/
|
||||
version: string;
|
||||
};
|
||||
/** ReviewFirstSessionChecklistCriterion */
|
||||
ReviewFirstSessionChecklistCriterion: {
|
||||
/** Criterionid */
|
||||
criterionId: string;
|
||||
/** Description */
|
||||
description: string;
|
||||
/** Evidenceturns */
|
||||
evidenceTurns?: components["schemas"]["ReviewFirstSessionChecklistEvidence"][];
|
||||
/** Label */
|
||||
label: string;
|
||||
/**
|
||||
* Status
|
||||
* @enum {string}
|
||||
*/
|
||||
status: "met" | "not_observed";
|
||||
};
|
||||
/** ReviewFirstSessionChecklistEvidence */
|
||||
ReviewFirstSessionChecklistEvidence: {
|
||||
/** Quote */
|
||||
quote: string;
|
||||
/** Turnid */
|
||||
turnId: string;
|
||||
/** Turnseq */
|
||||
turnSeq: number;
|
||||
};
|
||||
/** ReviewNonverbalEvent */
|
||||
ReviewNonverbalEvent: {
|
||||
/** Detail */
|
||||
|
|
@ -9097,10 +9356,19 @@ export interface components {
|
|||
ended_at?: string | null;
|
||||
/** Goal Stages */
|
||||
goal_stages?: ("라포" | "탐색" | "개입" | "정리")[];
|
||||
/**
|
||||
* Learner Feedback Enabled
|
||||
* @default true
|
||||
*/
|
||||
learner_feedback_enabled: boolean;
|
||||
/** Persona Code */
|
||||
persona_code: string;
|
||||
/** Persona Id */
|
||||
persona_id?: string | null;
|
||||
/** Persona Name */
|
||||
persona_name: string;
|
||||
/** Persona Version */
|
||||
persona_version?: number | null;
|
||||
progress?: components["schemas"]["SessionProgress"] | null;
|
||||
/**
|
||||
* Review Ready
|
||||
|
|
@ -9260,10 +9528,16 @@ export interface components {
|
|||
durationLabel: string;
|
||||
/** Durationseconds */
|
||||
durationSeconds: number;
|
||||
firstSessionChecklist?: components["schemas"]["ReviewFirstSessionChecklist"] | null;
|
||||
/** Goodmoments */
|
||||
goodMoments?: components["schemas"]["ReviewPoint"][];
|
||||
/** Growthpoints */
|
||||
growthPoints?: components["schemas"]["ReviewPoint"][];
|
||||
/**
|
||||
* Learnerfeedbackenabled
|
||||
* @default true
|
||||
*/
|
||||
learnerFeedbackEnabled: boolean;
|
||||
/** Nextline */
|
||||
nextLine?: string | null;
|
||||
/** Pdfexporturl */
|
||||
|
|
@ -9284,6 +9558,8 @@ export interface components {
|
|||
reviewReady: boolean;
|
||||
/** Rubric */
|
||||
rubric?: components["schemas"]["ReviewRubricRow"][];
|
||||
/** Sessionno */
|
||||
sessionNo: number;
|
||||
/** Sessionsignal */
|
||||
sessionSignal: string;
|
||||
/** Session Id */
|
||||
|
|
@ -9378,6 +9654,15 @@ export interface components {
|
|||
effective_openness: number;
|
||||
/** Goal Stages */
|
||||
goal_stages?: ("라포" | "탐색" | "개입" | "정리")[];
|
||||
/**
|
||||
* Learner Feedback Enabled
|
||||
* @default true
|
||||
*/
|
||||
learner_feedback_enabled: boolean;
|
||||
/** Persona Id */
|
||||
persona_id: string;
|
||||
/** Persona Version */
|
||||
persona_version: number;
|
||||
/** Recall Summary */
|
||||
recall_summary?: string | null;
|
||||
/** Session Id */
|
||||
|
|
@ -11244,6 +11529,145 @@ export interface operations {
|
|||
};
|
||||
};
|
||||
};
|
||||
list_admin_protocols_admin_protocols_get: {
|
||||
parameters: {
|
||||
query?: {
|
||||
status?: ("draft" | "active" | "retired") | null;
|
||||
search?: string | null;
|
||||
};
|
||||
header?: never;
|
||||
path?: never;
|
||||
cookie?: {
|
||||
"__Host-vignette_sid"?: string | null;
|
||||
vignette_sid?: string | null;
|
||||
};
|
||||
};
|
||||
requestBody?: never;
|
||||
responses: {
|
||||
/** @description Successful Response */
|
||||
200: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
"application/json": components["schemas"]["AdminProtocolListResponse"];
|
||||
};
|
||||
};
|
||||
/** @description Validation Error */
|
||||
422: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
"application/json": components["schemas"]["HTTPValidationError"];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
create_admin_protocol_admin_protocols_post: {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
path?: never;
|
||||
cookie?: {
|
||||
"__Host-vignette_sid"?: string | null;
|
||||
vignette_sid?: string | null;
|
||||
};
|
||||
};
|
||||
requestBody: {
|
||||
content: {
|
||||
"application/json": components["schemas"]["AdminProtocolCreate"];
|
||||
};
|
||||
};
|
||||
responses: {
|
||||
/** @description Successful Response */
|
||||
201: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
"application/json": components["schemas"]["AdminProtocolResponse"];
|
||||
};
|
||||
};
|
||||
/** @description Validation Error */
|
||||
422: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
"application/json": components["schemas"]["HTTPValidationError"];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
activate_admin_protocol_admin_protocols__protocol_id__activate_post: {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
path: {
|
||||
protocol_id: string;
|
||||
};
|
||||
cookie?: {
|
||||
"__Host-vignette_sid"?: string | null;
|
||||
vignette_sid?: string | null;
|
||||
};
|
||||
};
|
||||
requestBody?: never;
|
||||
responses: {
|
||||
/** @description Successful Response */
|
||||
200: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
"application/json": components["schemas"]["AdminProtocolActivationResponse"];
|
||||
};
|
||||
};
|
||||
/** @description Validation Error */
|
||||
422: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
"application/json": components["schemas"]["HTTPValidationError"];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
retire_admin_protocol_admin_protocols__protocol_id__retire_post: {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
path: {
|
||||
protocol_id: string;
|
||||
};
|
||||
cookie?: {
|
||||
"__Host-vignette_sid"?: string | null;
|
||||
vignette_sid?: string | null;
|
||||
};
|
||||
};
|
||||
requestBody?: never;
|
||||
responses: {
|
||||
/** @description Successful Response */
|
||||
200: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
"application/json": components["schemas"]["AdminProtocolResponse"];
|
||||
};
|
||||
};
|
||||
/** @description Validation Error */
|
||||
422: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
"application/json": components["schemas"]["HTTPValidationError"];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
list_tickets_admin_tickets_get: {
|
||||
parameters: {
|
||||
query?: {
|
||||
|
|
@ -11841,7 +12265,9 @@ export interface operations {
|
|||
};
|
||||
get_my_calibration_transfer_calibration_learners_me_get: {
|
||||
parameters: {
|
||||
query?: never;
|
||||
query?: {
|
||||
session_id?: string | null;
|
||||
};
|
||||
header?: never;
|
||||
path?: never;
|
||||
cookie?: {
|
||||
|
|
@ -14361,7 +14787,9 @@ export interface operations {
|
|||
};
|
||||
get_multimodal_session_metadata_sessions__session_id__multimodal_alliance_get: {
|
||||
parameters: {
|
||||
query?: never;
|
||||
query?: {
|
||||
include_derived?: boolean;
|
||||
};
|
||||
header?: never;
|
||||
path: {
|
||||
session_id: string;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue