vignette/apps/web/src/lib/api.gen.ts
2026-06-27 16:08:41 +09:00

3723 lines
108 KiB
TypeScript

/**
* This file was auto-generated by openapi-typescript.
* Do not make direct changes to the file.
*/
export interface paths {
"/admin/engine-config": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Engine Config
* @description Return the current admin-managed engine settings.
*/
get: operations["get_engine_config_admin_engine_config_get"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
/**
* Patch Engine Config
* @description Persist engine settings for administrators.
*/
patch: operations["patch_engine_config_admin_engine_config_patch"];
trace?: never;
};
"/admin/health": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Admin Health
* @description Return operational health from live backend checks.
*/
get: operations["admin_health_admin_health_get"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/admin/usage": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Admin Usage
* @description Return AI token/cost usage from persisted turns or dev fallback state.
*/
get: operations["admin_usage_admin_usage_get"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/admin/users": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Users
* @description Return users observed by the server-side auth/session boundary.
*/
get: operations["list_users_admin_users_get"];
put?: never;
/**
* Create User
* @description Create or reactivate a managed user without requiring that user to log in first.
*/
post: operations["create_user_admin_users_post"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/admin/users/{user_id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
post?: never;
/**
* Delete User
* @description Deactivate a managed user and revoke any active browser sessions.
*/
delete: operations["delete_user_admin_users__user_id__delete"];
options?: never;
head?: never;
/**
* Patch User
* @description Update a server-known user's role/profile for the current API process.
*/
patch: operations["patch_user_admin_users__user_id__patch"];
trace?: never;
};
"/auth/callback": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Callback
* @description Exchange Google auth code, validate identity, and issue a BFF cookie.
*/
get: operations["callback_auth_callback_get"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/auth/config": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Auth Config
* @description Return non-secret login configuration for the browser login screen.
*/
get: operations["auth_config_auth_config_get"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/auth/dev-login": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Dev Login
* @description Dev-only server login for local E2E and manual testing.
*
* This is not a browser-side auth shortcut: the role is stored server-side and
* the browser only gets the same opaque HttpOnly cookie used by OAuth.
*/
post: operations["dev_login_auth_dev_login_post"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/auth/login": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Login
* @description Start Google OIDC authorization code + PKCE login.
*/
get: operations["login_auth_login_get"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/auth/logout": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Logout
* @description Revoke the current server session and expire the browser cookie.
*/
post: operations["logout_auth_logout_post"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/auth/me": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Me
* @description Return the current authenticated user. Unauthenticated requests are 401.
*/
get: operations["me_auth_me_get"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/auth/saml/acs": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Saml Acs
* @description Accept a minimal unsigned SAMLResponse for local fixture SAML proof.
*
* Signed SAML verification is intentionally not implemented. When
* SAML_X509_CERT_FINGERPRINT is configured, this endpoint refuses to trust the
* response so production does not silently run unsigned SAML.
*/
post: operations["saml_acs_auth_saml_acs_post"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/eval/health": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Eval Health
* @description 평가 라우터 헬스 — Features:evaluator 로 전환됨.
*/
get: operations["eval_health_eval_health_get"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/eval/sessions/{session_id}/evaluation": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Session Evaluation
* @description 회기 평가 조회(읽기) — 저장된 마지막 deep 재평가 결과 + 기법 분포.
*
* 아직 평가 트리거가 없었다면 deep=None + 빈 분포.
*/
get: operations["get_session_evaluation_eval_sessions__session_id__evaluation_get"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/eval/sessions/{session_id}/reevaluate": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Reevaluate Session
* @description 회기 전체 deep-loop 재평가(슈퍼바이저 rationale/critique + 개선점 + 대안발화).
*
* 저장된 마스킹 축어록을 evaluator.evaluate_session 으로 평가한다.
* 엔진 장애는 503 으로 변환(평가는 비치명적이지만 트리거는 사용자 명시 요청이라 에러 노출).
*/
post: operations["reevaluate_session_eval_sessions__session_id__reevaluate_post"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/eval/sessions/{session_id}/turn": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Reevaluate Turn
* @description 단일 상담자 발화 fast-loop 재평가(기법/내담자상태/적절성/의도이탈).
*
* 저장된 축어록에서 해당 turn_seq 상담자 발화 + 직후 내담자 응답을 재구성해
* 경량 TurnContext 로 evaluator.evaluate_turn 을 호출한다.
*/
post: operations["reevaluate_turn_eval_sessions__session_id__turn_post"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/health": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Health
* @description liveness + DB + 엔진 게이트웨이 readiness.
*/
get: operations["health_health_get"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/kb/eval-grounding": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Eval Grounding
* @description 평가 AI 채점 근거 회수(DSM/이론/taxonomy 정답라벨 + 논평).
*
* role 무시하고 evaluator 정책 고정(평가 전용 경로). crag_pass=False 면 호출부가
* '관찰 프레이밍'으로 다운그레이드(F-06).
*/
post: operations["eval_grounding_kb_eval_grounding_post"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/kb/health": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Kb Health
* @description KB 라우터 + RAG 구성요소 readiness.
*
* DB 풀/임베딩 모델 가용 여부를 *크래시 없이* 점검(미가용=degraded). 부트/디버그용.
*/
get: operations["kb_health_kb_health_get"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/kb/index": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Index Document
* @description 문서 인덱싱(관리자, RBAC ADMIN 강제). content_hash 증분 + 청크 임베딩 적재.
*
* ⚠️ 임베딩은 무거운 작업 → 본래 BackgroundTasks/배치 워커 위임 권장(202 Accepted).
* DSM verbatim 저작권(license C/D)은 source 등록 시점 external_llm_ok 가드 책임.
* 모델 미가용 시 embedding NULL 폴백(BM25 만, degraded=True) — 크래시 X.
*/
post: operations["index_document_kb_index_post"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/kb/persona-memory": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Persona Memory
* @description 회기 시작 episodic recall(app.turn_embedding, case_id 스코프 강제).
*
* CCD/정답/평가는 이 경로에 구조적으로 부재(코드경로 부재 1차방어). 반환은 turn_id+점수만
* (본문은 호출부 memory.build_recall_context 가 turns 조인). 내담자 뷰 RLS 주입.
*/
post: operations["persona_memory_kb_persona_memory_post"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/kb/search": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Search
* @description 정적 지식 KB 하이브리드 검색(dense pgvector cosine + sparse tsvector + 리랭킹).
*
* role 이 정책 4-튜플(사전필터·가중치·본문노출·라벨)을 고정한다 — 호출부가 못 넓힌다.
* AI 뷰 RLS 컨텍스트(app.current_ai_view)를 커넥션에 주입해 visible_to 를 2중 강제.
*/
post: operations["search_kb_search_post"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/personas": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Personas
* @description Return latest approved personas from app.persona_card.
*/
get: operations["list_personas_personas_get"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/personas/drafts": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Create Persona Draft Route
* @description Create a draft persona card version for faculty review.
*/
post: operations["create_persona_draft_route_personas_drafts_post"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/personas/drafts/{persona_id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Persona Draft Route
* @description Return a draft/review persona card for editing.
*/
get: operations["get_persona_draft_route_personas_drafts__persona_id__get"];
/**
* Update Persona Draft Route
* @description Update a draft/review persona card and optionally submit it for review.
*/
put: operations["update_persona_draft_route_personas_drafts__persona_id__put"];
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/personas/review": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Persona Reviews
* @description Return draft/review personas awaiting faculty approval.
*/
get: operations["list_persona_reviews_personas_review_get"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/personas/review/{persona_id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Decide Persona Review
* @description Approve a persona for learners or return it to draft for changes.
*/
post: operations["decide_persona_review_personas_review__persona_id__post"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/sessions": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Learner Sessions
* @description Return the current learner's real practice sessions.
*/
get: operations["list_learner_sessions_sessions_get"];
put?: never;
/**
* Start Session
* @description Start a learner-owned practice session.
*/
post: operations["start_session_sessions_post"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/sessions/{session_id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Session Detail
* @description Return a learner-owned session with transcript for resume/history.
*/
get: operations["get_session_detail_sessions__session_id__get"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/sessions/{session_id}/end": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* End Session
* @description End a learner-owned session and prepare carry-over state.
*/
post: operations["end_session_sessions__session_id__end_post"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/sessions/{session_id}/review": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Session Review
* @description Return a learner-safe review built only from the stored session transcript.
*/
get: operations["get_session_review_sessions__session_id__review_get"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/sessions/{session_id}/stream": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Stream Turn
* @description Stream a generated client reply for one trainee utterance.
*/
post: operations["stream_turn_sessions__session_id__stream_post"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/sessions/{session_id}/turn": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Submit Turn
* @description Submit one trainee utterance and return the generated client reply.
*/
post: operations["submit_turn_sessions__session_id__turn_post"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/teacher/dashboard": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Teacher Dashboard
* @description Return teacher-visible dashboard data from real sessions only.
*/
get: operations["teacher_dashboard_teacher_dashboard_get"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/users/me": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get Me */
get: operations["get_me_users_me_get"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
/** Patch Me */
patch: operations["patch_me_users_me_patch"];
trace?: never;
};
"/users/me/preferences": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get Preferences */
get: operations["get_preferences_users_me_preferences_get"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
/** Patch Preferences */
patch: operations["patch_preferences_users_me_preferences_patch"];
trace?: never;
};
"/users/me/voice-presets": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get Voice Presets */
get: operations["get_voice_presets_users_me_voice_presets_get"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/voice/health": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Voice Health
* @description Return voice service readiness.
*/
get: operations["voice_health_voice_health_get"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
}
export type webhooks = Record<string, never>;
export interface components {
schemas: {
/** AdminEngineConfigPatch */
AdminEngineConfigPatch: {
/** Engine Mode */
engine_mode?: string | null;
/** Engine Url */
engine_url?: string | null;
/** Model */
model?: string | null;
};
/** AdminEngineConfigResponse */
AdminEngineConfigResponse: {
/**
* Durable
* @default false
*/
durable: boolean;
/** Engine Mode */
engine_mode: string;
/** Engine Url */
engine_url: string;
/** Model */
model: string;
/**
* Source
* @default runtime_default
* @enum {string}
*/
source: "database" | "runtime_cache" | "runtime_default";
/** Updated At */
updated_at?: number | null;
/** Updated By */
updated_by?: string | null;
};
/** AdminHealthResponse */
AdminHealthResponse: {
/** Engine Mode */
engine_mode: string;
/** Environment */
environment: string;
/** Services */
services: components["schemas"]["AdminServiceHealth"][];
/**
* Status
* @enum {string}
*/
status: "ok" | "degraded" | "down";
};
/** AdminServiceHealth */
AdminServiceHealth: {
/** Detail */
detail: string;
/** Key */
key: string;
/** Load */
load: number;
/** Metric */
metric: string;
/** Name */
name: string;
/**
* Status
* @enum {string}
*/
status: "ok" | "degraded" | "down";
};
/** AdminUsageBreakdown */
AdminUsageBreakdown: {
/** Cost Usd */
cost_usd: number;
/** Model */
model: string;
/** Provider */
provider: string;
/** Tokens In */
tokens_in: number;
/** Tokens Out */
tokens_out: number;
/** Turns */
turns: number;
};
/** AdminUsageBudget */
AdminUsageBudget: {
/** Limit Usd */
limit_usd: number;
/** Remaining Usd */
remaining_usd: number | null;
/**
* Status
* @enum {string}
*/
status: "disabled" | "ok" | "warn" | "exceeded";
/** Used Ratio */
used_ratio: number;
};
/** AdminUsageResponse */
AdminUsageResponse: {
budget: components["schemas"]["AdminUsageBudget"];
/** By Provider */
by_provider: components["schemas"]["AdminUsageBreakdown"][];
/** Cost Usd */
cost_usd: number;
/** Durable */
durable: boolean;
/** Generated At */
generated_at: number;
/** Metered Turns */
metered_turns: number;
/**
* Source
* @enum {string}
*/
source: "database" | "server_session_registry";
/** Tokens In */
tokens_in: number;
/** Tokens Out */
tokens_out: number;
/** Total Turns */
total_turns: number;
/** Window Days */
window_days: number;
};
/** AdminUserCreate */
AdminUserCreate: {
/** Affiliation */
affiliation?: string | null;
/** Cohort Ids */
cohort_ids?: string[];
/** Display Name */
display_name: string;
/** Email */
email: string;
/**
* Role
* @default learner
* @enum {string}
*/
role: "learner" | "teacher" | "admin";
};
/** AdminUserDeleteResponse */
AdminUserDeleteResponse: {
/** Ok */
ok: boolean;
/** User Id */
user_id: string;
};
/** AdminUserPatch */
AdminUserPatch: {
/** Affiliation */
affiliation?: string | null;
/** Cohort Ids */
cohort_ids?: string[] | null;
/** Display Name */
display_name?: string | null;
/** Role */
role?: ("learner" | "teacher" | "admin") | null;
};
/** AdminUserResponse */
AdminUserResponse: {
/** Active Sessions */
active_sessions: number;
/** Affiliation */
affiliation: string;
/** Cohort Ids */
cohort_ids: string[];
/** Created At */
created_at: number;
/** Display Name */
display_name: string;
/** Email */
email: string;
/** Last Seen At */
last_seen_at: number;
/**
* Role
* @enum {string}
*/
role: "learner" | "teacher" | "admin";
/**
* Source
* @enum {string}
*/
source: "database" | "server_session_registry";
/** User Id */
user_id: string;
};
/** AdminUsersResponse */
AdminUsersResponse: {
/** Durable */
durable: boolean;
/**
* Source
* @enum {string}
*/
source: "database" | "server_session_registry";
/** Users */
users: components["schemas"]["AdminUserResponse"][];
};
/** AuthConfigResponse */
AuthConfigResponse: {
/** Allowed Email Domains */
allowed_email_domains: string[];
/** Dev Login Enabled */
dev_login_enabled: boolean;
/** Google Oauth Configured */
google_oauth_configured: boolean;
/** Providers */
providers: components["schemas"]["AuthProviderStatus"][];
/** Redirect Uri */
redirect_uri: string;
/** Saml Configured */
saml_configured: boolean;
};
/** AuthProviderStatus */
AuthProviderStatus: {
/** Configured */
configured: boolean;
/** Enabled */
enabled: boolean;
/** Login Path */
login_path: string;
/**
* Provider
* @enum {string}
*/
provider: "google" | "saml";
};
/** ChunkOut */
ChunkOut: {
/** Behavior Cue */
behavior_cue?: string | null;
/** Body */
body?: string | null;
/** Chunk Id */
chunk_id: number;
/** Context Prefix */
context_prefix?: string | null;
/** Heading Path */
heading_path?: string | null;
/** Kb Kind */
kb_kind: string;
/** Label Id */
label_id?: number | null;
/** Meta */
meta?: Record<string, never>;
/** Score */
score: number;
/** Source Id */
source_id?: string | null;
};
/**
* ClientStateRead
* @description 내담자 상태 '읽기' — 학습자 발화 직후 내담자 응답에서 관측된 상태(읽기 채점 근거).
*/
ClientStateRead: {
/** Code */
code: string;
/** Label Ko */
label_ko: string;
/** Rationale */
rationale?: string | null;
};
/** CrisisResourceResponse */
CrisisResourceResponse: {
/** Message */
message: string;
/** Number */
number: string;
/** Title */
title: string;
};
/** DevLoginRequest */
DevLoginRequest: {
/** Display Name */
display_name?: string | null;
/** Email */
email: string;
/**
* Role
* @default learner
* @enum {string}
*/
role: "learner" | "teacher" | "admin";
};
/**
* EvaluationSummary
* @description 회기 평가 조회 응답(분포 + deep 결과 합본).
*/
EvaluationSummary: {
/** Deep */
deep?: Record<string, never> | null;
/** Distribution */
distribution?: Record<string, never>;
/** Session Id */
session_id: string;
/** Stage */
stage: string;
};
/** HTTPValidationError */
HTTPValidationError: {
/** Detail */
detail?: components["schemas"]["ValidationError"][];
};
/** IndexChunkIn */
IndexChunkIn: {
/** Chunk Text */
chunk_text: string;
/** Context Prefix */
context_prefix?: string | null;
/** Heading Path */
heading_path?: string | null;
/** Kb Kind */
kb_kind?: string | null;
/** Label Id */
label_id?: number | null;
/** Meta */
meta?: Record<string, never> | null;
/** Sensitivity */
sensitivity?: number | null;
/** Seq */
seq: number;
/** Token Count */
token_count?: number | null;
/** Visible To */
visible_to?: string[] | null;
};
/** IndexRequestIn */
IndexRequestIn: {
/** Chunks */
chunks: components["schemas"]["IndexChunkIn"][];
/** Content Hash */
content_hash?: string | null;
/** Doc Uri */
doc_uri: string;
/** Source Id */
source_id: string;
/**
* Version
* @default 1
*/
version: number;
};
/** IndexResponse */
IndexResponse: {
/** Chunks Indexed */
chunks_indexed: number;
/**
* Degraded
* @default false
*/
degraded: boolean;
/** Doc Id */
doc_id: number | null;
/** Embedded */
embedded: boolean;
/** Skipped Unchanged */
skipped_unchanged: boolean;
};
/**
* IntentDeviation
* @description '의도와 다른 부분'(윤찬 1급 시민). taxonomy.SupervisorComment(critique) intent_deviation 정합.
*
* {dimension, expected, actual, severity} 구조화. dimension 은 평가 차원
* (예: 'reflection', 'self_disclosure', 'pacing', 'risk_assessment').
*/
IntentDeviation: {
/**
* Actual
* @description 실제 나타난 반응
*/
actual: string;
/**
* Dimension
* @description 관련 평가 차원(기법/페이싱/위험사정 등)
*/
dimension: string;
/**
* Expected
* @description 권장된 반응/의도
*/
expected: string;
/**
* Severity
* @description minor | moderate | major
* @default minor
*/
severity: string;
};
/** KBSearchRequest */
KBSearchRequest: {
/**
* K
* @default 5
*/
k: number;
/** Kb Kind */
kb_kind?: string[] | null;
/** Query */
query: string;
/**
* Rerank
* @default true
*/
rerank: boolean;
/**
* Role
* @default evaluator
* @enum {string}
*/
role: "client" | "counselor" | "evaluator";
/** Sensitivity Max */
sensitivity_max?: number | null;
/** Session Id */
session_id?: string | null;
/** Source Id */
source_id?: string[] | null;
/** Turn Id */
turn_id?: string | null;
};
/** KBSearchResponse */
KBSearchResponse: {
/** Chunks */
chunks: components["schemas"]["ChunkOut"][];
/** Crag Pass */
crag_pass: boolean;
/**
* Degraded
* @default false
*/
degraded: boolean;
/** Latency Ms */
latency_ms: number;
/** Policy */
policy: string;
/** Top1 Score */
top1_score: number;
};
/** LearnerSessionSummary */
LearnerSessionSummary: {
/** Client Turn Count */
client_turn_count: number;
/** Ended At */
ended_at?: string | null;
/** Learner Turn Count */
learner_turn_count: number;
/** Persona Code */
persona_code: string;
/** Persona Name */
persona_name: string;
/**
* Review Ready
* @default false
*/
review_ready: boolean;
/** Session Id */
session_id: string;
/** Session No */
session_no: number;
/** Stage */
stage: string;
/** Started At */
started_at: string;
/**
* Status
* @enum {string}
*/
status: "active" | "ended";
/** Turn Count */
turn_count: number;
};
/** LearnerSessionsResponse */
LearnerSessionsResponse: {
/** Sessions */
sessions?: components["schemas"]["LearnerSessionSummary"][];
/**
* Source
* @default runtime
*/
source: string;
};
/** MeResponse */
MeResponse: {
/** Cohort Ids */
cohort_ids: string[];
/** Display Name */
display_name: string;
/** Email */
email: string;
/** Role */
role: string;
/** User Id */
user_id: string;
};
/** MemoryRecallRequest */
MemoryRecallRequest: {
/** Case Id */
case_id: string;
/**
* K
* @default 5
*/
k: number;
/** Query */
query: string;
/** Session Id */
session_id?: string | null;
/** Turn Id */
turn_id?: string | null;
};
/** NotificationPreferences */
NotificationPreferences: {
/**
* Learner Progress
* @default false
*/
learner_progress: boolean;
/**
* Product News
* @default false
*/
product_news: boolean;
/**
* Safety Signal
* @default true
*/
safety_signal: boolean;
/**
* Session Done
* @default true
*/
session_done: boolean;
};
/** PersonaDraftDetail */
PersonaDraftDetail: {
/** Affect Baseline */
affect_baseline: {
[key: string]: number;
};
/** Approved At */
approved_at?: string | null;
/** Big5 */
big5: {
[key: string]: number;
};
/** Ccd */
ccd: {
[key: string]: unknown;
};
/** Code */
code: string;
/** Created At */
created_at?: string | null;
/** Demographics */
demographics: {
[key: string]: unknown;
};
/** Difficulty */
difficulty: string;
/** Display Name */
display_name: string;
/** Dsm5 Dimensional */
dsm5_dimensional: {
[key: string]: unknown;
};
/** History */
history: {
[key: string]: unknown;
};
/** Is Synthetic */
is_synthetic: boolean;
/** Persona Id */
persona_id: string;
/** Presenting */
presenting: {
[key: string]: unknown;
};
/** Resistance */
resistance: {
[key: string]: number;
};
/** Source Provenance */
source_provenance: string;
/** Speech Style */
speech_style: {
[key: string]: unknown;
};
/**
* Status
* @enum {string}
*/
status: "draft" | "review" | "approved" | "archived";
/** Theory Target */
theory_target: string[];
/** Version */
version: number;
};
/** PersonaDraftPayload */
PersonaDraftPayload: {
/** Affect Baseline */
affect_baseline?: {
[key: string]: number;
};
/** Big5 */
big5?: {
[key: string]: number;
};
/** Ccd */
ccd?: {
[key: string]: unknown;
};
/** Code */
code: string;
/** Demographics */
demographics?: {
[key: string]: unknown;
};
/**
* Difficulty
* @enum {string}
*/
difficulty: "easy" | "moderate" | "hard";
/** Display Name */
display_name: string;
/** Dsm5 Dimensional */
dsm5_dimensional?: {
[key: string]: unknown;
};
/** History */
history?: {
[key: string]: unknown;
};
/**
* Is Synthetic
* @default true
*/
is_synthetic: boolean;
/** Presenting */
presenting?: {
[key: string]: unknown;
};
/** Resistance */
resistance?: {
[key: string]: number;
};
/**
* Source Provenance
* @default
*/
source_provenance: string;
/** Speech Style */
speech_style?: {
[key: string]: unknown;
};
/**
* Submit For Review
* @default false
*/
submit_for_review: boolean;
/** Theory Target */
theory_target?: string[];
};
/** PersonaReviewDecisionRequest */
PersonaReviewDecisionRequest: {
/**
* Action
* @enum {string}
*/
action: "approve" | "reject";
};
/** PersonaReviewSummary */
PersonaReviewSummary: {
/** Approved At */
approved_at?: string | null;
/** Code */
code: string;
/** Created At */
created_at?: string | null;
/** Difficulty */
difficulty: string;
/** Display Name */
display_name: string;
/** Is Synthetic */
is_synthetic: boolean;
/** Persona Id */
persona_id: string;
/** Source Provenance */
source_provenance: string;
/**
* Status
* @enum {string}
*/
status: "draft" | "review" | "approved" | "archived";
/** Theory Target */
theory_target: string[];
/** Version */
version: number;
};
/** PersonaSummary */
PersonaSummary: {
/** Code */
code: string;
/**
* Degraded
* @default false
*/
degraded: boolean;
/** Demographics */
demographics: Record<string, never>;
/** Difficulty */
difficulty: string;
/** Display Name */
display_name: string;
/** Presenting Summary */
presenting_summary: string;
/**
* Source
* @default database
*/
source: string;
/** Theory Target */
theory_target: string[];
/** Voice Preset */
voice_preset?: string | null;
};
/** ReevaluateRequest */
ReevaluateRequest: {
/**
* Scope
* @description 'session_end' | 'stage_transition'
* @default session_end
*/
scope: string;
};
/** ReviewCaseWorksheet */
ReviewCaseWorksheet: {
/**
* Generatedby
* @default rule-based transcript extractor
*/
generatedBy: string;
/** Limitations */
limitations?: string[];
/** Sections */
sections?: components["schemas"]["ReviewWorksheetSection"][];
/**
* Status
* @default empty
* @enum {string}
*/
status: "empty" | "draft_from_transcript";
};
/** ReviewClient */
ReviewClient: {
/** Initial */
initial: string;
/** Name */
name: string;
/** Persona */
persona: string;
};
/** ReviewNonverbalEvent */
ReviewNonverbalEvent: {
/** Detail */
detail: string;
/**
* Kind
* @enum {string}
*/
kind: "audio" | "silence" | "pace" | "barge_in";
/** Label */
label: string;
};
/** ReviewNote */
ReviewNote: {
/** Author */
author: string;
/** Body */
body: string;
/** Quote */
quote?: string | null;
/** Title */
title: string;
/** Tone */
tone: string;
};
/** ReviewPhaseSegment */
ReviewPhaseSegment: {
/** Key */
key: string;
/** Label */
label: string;
/** Weight */
weight: number;
};
/** ReviewPoint */
ReviewPoint: {
/** Body */
body: string;
/** Jumpto */
jumpTo?: string | null;
/** Title */
title: string;
};
/** ReviewRubricRow */
ReviewRubricRow: {
/** Cluster */
cluster: string;
/** Freq */
freq: string;
/** Name */
name: string;
/**
* Quality
* @enum {string}
*/
quality: "good" | "watch";
/** Ratio */
ratio: number;
};
/** ReviewTechnique */
ReviewTechnique: {
/** Kind */
kind: string;
/** Label */
label: string;
};
/** ReviewTurn */
ReviewTurn: {
/** Id */
id: string;
/** Nonverbal */
nonverbal?: components["schemas"]["ReviewNonverbalEvent"][];
note?: components["schemas"]["ReviewNote"] | null;
/**
* Speaker
* @enum {string}
*/
speaker: "learner" | "client";
/** Techniques */
techniques?: components["schemas"]["ReviewTechnique"][];
/** Text */
text: string;
/** Ts */
ts: string;
/** Who */
who: string;
};
/** ReviewValencePoint */
ReviewValencePoint: {
/** T */
t: number;
/** V */
v: number;
};
/** ReviewWorksheetEvidence */
ReviewWorksheetEvidence: {
/** Quote */
quote: string;
/**
* Speaker
* @enum {string}
*/
speaker: "learner" | "client";
/** Turnid */
turnId: string;
};
/** ReviewWorksheetItem */
ReviewWorksheetItem: {
/**
* Confidence
* @default none
* @enum {string}
*/
confidence: "none" | "low" | "medium";
/** Emptyreason */
emptyReason?: string | null;
/** Evidence */
evidence?: components["schemas"]["ReviewWorksheetEvidence"][];
/** Key */
key: string;
/** Label */
label: string;
/** Value */
value?: string | null;
};
/** ReviewWorksheetSection */
ReviewWorksheetSection: {
/** Items */
items?: components["schemas"]["ReviewWorksheetItem"][];
/** Key */
key: string;
/** Title */
title: string;
};
/** SessionDetailResponse */
SessionDetailResponse: {
/** Case Id */
case_id: string;
/** Effective Openness */
effective_openness: number;
/** Ended At */
ended_at?: string | null;
/** Persona Code */
persona_code: string;
/** Persona Name */
persona_name: string;
/**
* Review Ready
* @default false
*/
review_ready: boolean;
/** Session Id */
session_id: string;
/** Stage */
stage: string;
/** Started At */
started_at: string;
/**
* Status
* @enum {string}
*/
status: "active" | "ended";
/** Theory Mode */
theory_mode: string;
/** Turns */
turns?: components["schemas"]["SessionDetailTurn"][];
};
/** SessionDetailTurn */
SessionDetailTurn: {
/** Created At */
created_at: string;
/**
* Speaker
* @enum {string}
*/
speaker: "learner" | "client";
/** Stage */
stage: string;
/** Text */
text: string;
/** Turn Seq */
turn_seq: number;
};
/** SessionEndResponse */
SessionEndResponse: {
/** Digest Pending */
digest_pending: boolean;
/** End State */
end_state: {
[key: string]: string | number | boolean | {
[key: string]: number;
} | null;
};
/** Session Id */
session_id: string;
/** Session No */
session_no: number;
};
/**
* SessionEvaluation
* @description deep-loop 회기말/단계전환 정밀 평가 결과.
*
* 기법분포 + 잘한 순간 + 개선점(최대3) + 슈퍼바이저 rationale/critique + 의도이탈 집계.
*/
SessionEvaluation: {
/** Alternative Utterances */
alternative_utterances?: string[];
distribution?: components["schemas"]["TechniqueDistribution"];
/** Error */
error?: string | null;
/** Improvements */
improvements?: string[];
/** Intent Deviations */
intent_deviations?: components["schemas"]["IntentDeviation"][];
/**
* Loop
* @default deep
*/
loop: string;
/**
* Scope
* @default session_end
*/
scope: string;
/** Session Id */
session_id: string;
/** Stage */
stage: string;
/** Strengths */
strengths?: string[];
/** Supervisor Critique */
supervisor_critique?: string | null;
/** Supervisor Rationale */
supervisor_rationale?: string | null;
/** Theory Mode */
theory_mode?: string | null;
/**
* Turns Evaluated
* @default 0
*/
turns_evaluated: number;
};
/** SessionReviewResponse */
SessionReviewResponse: {
/** Audiourl */
audioUrl?: string | null;
caseWorksheet?: components["schemas"]["ReviewCaseWorksheet"];
client: components["schemas"]["ReviewClient"];
/** Clientfeedback */
clientFeedback?: string | null;
/** Clientvalence */
clientValence?: components["schemas"]["ReviewValencePoint"][];
/** Counselorbaseline */
counselorBaseline?: components["schemas"]["ReviewValencePoint"][];
/** Date */
date: string;
/**
* Degraded
* @default true
*/
degraded: boolean;
/** Durationlabel */
durationLabel: string;
/** Durationseconds */
durationSeconds: number;
/** Goodmoments */
goodMoments?: components["schemas"]["ReviewPoint"][];
/** Growthpoints */
growthPoints?: components["schemas"]["ReviewPoint"][];
/** Nextline */
nextLine?: string | null;
/** Pdfexporturl */
pdfExportUrl?: string | null;
/** Phaseaxis */
phaseAxis?: string[];
/** Phases */
phases?: components["schemas"]["ReviewPhaseSegment"][];
/** Reachedphase */
reachedPhase: string;
/**
* Reviewready
* @default false
*/
reviewReady: boolean;
/** Rubric */
rubric?: components["schemas"]["ReviewRubricRow"][];
/** Sessionsignal */
sessionSignal: string;
/** Session Id */
session_id: string;
/** Summary */
summary: string;
/** Supervisorname */
supervisorName: string;
/** Supervisorstate */
supervisorState: string;
/** Turns */
turns?: components["schemas"]["ReviewTurn"][];
/** Valenceaxis */
valenceAxis?: string[];
};
/** SessionStartRequest */
SessionStartRequest: {
/**
* Persona Code
* @example P1
*/
persona_code: string;
/**
* Theory Mode
* @default humanistic
* @enum {string}
*/
theory_mode: "humanistic" | "cbt" | "integrative";
};
/** SessionStartResponse */
SessionStartResponse: {
/** Case Id */
case_id: string;
/**
* Degraded
* @default false
*/
degraded: boolean;
/** Effective Openness */
effective_openness: number;
/** Recall Summary */
recall_summary?: string | null;
/** Session Id */
session_id: string;
/** Session No */
session_no: number;
/** Stage */
stage: string;
};
/** TeacherDashboardResponse */
TeacherDashboardResponse: {
/** Active Sessions */
active_sessions: number;
/**
* Cohort Label
* @default 현재 학습 기록
*/
cohort_label: string;
/** Ended Sessions */
ended_sessions: number;
/** Learner Growth */
learner_growth?: components["schemas"]["TeacherLearnerGrowth"][];
/** Message */
message: string;
/** Pending Reviews */
pending_reviews?: components["schemas"]["TeacherSessionSummary"][];
/** Recent Sessions */
recent_sessions?: components["schemas"]["TeacherSessionSummary"][];
/** Safety Alerts */
safety_alerts?: components["schemas"]["TeacherSafetyAlert"][];
/**
* Source
* @default in_memory
*/
source: string;
/** Total Learners */
total_learners: number;
};
/** TeacherGrowthPoint */
TeacherGrowthPoint: {
/** Ended At */
ended_at?: string | null;
/** Persona Code */
persona_code: string;
/** Rapport */
rapport?: number | null;
/** Score */
score?: number | null;
/** Session Id */
session_id: string;
/** Session No */
session_no: number;
/** Stage */
stage: string;
/** Started At */
started_at: string;
/**
* Technique Count
* @default 0
*/
technique_count: number;
/**
* Watch Count
* @default 0
*/
watch_count: number;
};
/** TeacherLearnerGrowth */
TeacherLearnerGrowth: {
/** Avg Rapport */
avg_rapport?: number | null;
/** Avg Score */
avg_score?: number | null;
/** Ended Sessions */
ended_sessions: number;
/** First Score */
first_score?: number | null;
/** Latest At */
latest_at: string;
/** Latest Score */
latest_score?: number | null;
/** Learner Id */
learner_id: string;
/** Learner Label */
learner_label: string;
/** Points */
points?: components["schemas"]["TeacherGrowthPoint"][];
/** Score Delta */
score_delta?: number | null;
/** Sessions */
sessions: number;
/** Top Techniques */
top_techniques?: string[];
/**
* Trend
* @default insufficient
*/
trend: string;
};
/** TeacherSafetyAlert */
TeacherSafetyAlert: {
/** Created At */
created_at: string;
/** Escalated */
escalated: boolean;
/** Id */
id: string;
/** Ko Risk Level */
ko_risk_level: number;
/** Learner Id */
learner_id: string;
/** Learner Label */
learner_label: string;
/** Persona Code */
persona_code: string;
/**
* Resource Number
* @default 109
*/
resource_number: string;
/**
* Resource Title
* @default 자살예방상담전화 109
*/
resource_title: string;
/** Session Id */
session_id: string;
/** Session No */
session_no: number;
/** Trigger Type */
trigger_type: string;
};
/** TeacherSessionSummary */
TeacherSessionSummary: {
/** Client Turn Count */
client_turn_count: number;
/** Ended At */
ended_at?: string | null;
/** Learner Id */
learner_id: string;
/** Learner Label */
learner_label: string;
/** Learner Turn Count */
learner_turn_count: number;
/** Persona Code */
persona_code: string;
/** Persona Name */
persona_name: string;
/** Session Id */
session_id: string;
/** Session No */
session_no: number;
/** Stage */
stage: string;
/** Started At */
started_at: string;
/** Status */
status: string;
/** Turn Count */
turn_count: number;
};
/**
* TechniqueDistribution
* @description deep-loop 기법 분포 — 군집별 카운트 + 과다/과소 진단.
*/
TechniqueDistribution: {
/** By Category */
by_category?: {
[key: string]: number;
};
/** By Technique */
by_technique?: {
[key: string]: number;
};
/** Overused */
overused?: string[];
/**
* Total
* @default 0
*/
total: number;
/** Underused */
underused?: string[];
};
/**
* TechniqueTag
* @description fast-loop 기법 태그 1건 — taxonomy.Technique 코드 + 한글 + 군집 + 근거.
*/
TechniqueTag: {
/** Category */
category: string;
/** Code */
code: string;
/** Label Ko */
label_ko: string;
/** Rationale */
rationale?: string | null;
};
/**
* TurnEvaluation
* @description fast-loop 턴 평가 결과(턴 직후 경량 4차원).
*
* 4차원:
* ① technique[] : 학습자(상담자) 발화에 부착된 기법 라벨(복수)
* ② client_state_read[] : 내담자 응답에서 읽은 상태(복수)
* ③ appropriateness : 적절성 신호 pos|warn|neutral (경량)
* ④ intent_deviation : '의도와 다른 부분' 있으면 구조화(없으면 None)
*/
TurnEvaluation: {
/**
* Appropriateness
* @default neutral
*/
appropriateness: string;
/** Appropriateness Note */
appropriateness_note?: string | null;
/** Client State Read */
client_state_read?: components["schemas"]["ClientStateRead"][];
/** Error */
error?: string | null;
intent_deviation?: components["schemas"]["IntentDeviation"] | null;
/**
* Loop
* @default fast
*/
loop: string;
/** Rapport Signal */
rapport_signal?: number | null;
/** Stage */
stage: string;
/** Techniques */
techniques?: components["schemas"]["TechniqueTag"][];
/** Theory Mode */
theory_mode?: string | null;
/** Turn Seq */
turn_seq: number;
};
/** TurnReevaluateRequest */
TurnReevaluateRequest: {
/**
* Turn Seq
* @description 재평가할 상담자 발화의 turn_seq
*/
turn_seq: number;
};
/** TurnRequest */
TurnRequest: {
/** Text */
text: string;
};
/** TurnResponse */
TurnResponse: {
/** Client Reply */
client_reply?: string | null;
/**
* Conversation Stopped
* @default false
*/
conversation_stopped: boolean;
/**
* Crisis Kind
* @default none
*/
crisis_kind: string;
crisis_resource?: components["schemas"]["CrisisResourceResponse"] | null;
/** Effective Openness */
effective_openness: number;
/**
* Safety Flagged
* @default false
*/
safety_flagged: boolean;
/** Stage */
stage: string;
/** Turn Seq */
turn_seq: number;
};
/** UserPreferencesPatch */
UserPreferencesPatch: {
notifications?: components["schemas"]["NotificationPreferences"] | null;
/** Theme */
theme?: string | null;
/** Voice Preset Id */
voice_preset_id?: string | null;
/** Voice Rate */
voice_rate?: number | null;
};
/** UserPreferencesResponse */
UserPreferencesResponse: {
notifications?: components["schemas"]["NotificationPreferences"];
/**
* Theme
* @default system
*/
theme: string;
/**
* Voice Preset Id
* @default soft-young-fem
*/
voice_preset_id: string;
/**
* Voice Rate
* @default 1
*/
voice_rate: number;
};
/** UserProfilePatch */
UserProfilePatch: {
/** Affiliation */
affiliation?: string | null;
/** Display Name */
display_name?: string | null;
};
/** UserProfileResponse */
UserProfileResponse: {
/** Affiliation */
affiliation: string;
/** Cohort Ids */
cohort_ids: string[];
/** Display Name */
display_name: string;
/** Email */
email: string;
/** Role */
role: string;
/** User Id */
user_id: string;
};
/** ValidationError */
ValidationError: {
/** Location */
loc: (string | number)[];
/** Message */
msg: string;
/** Error Type */
type: string;
};
/** VoicePresetResponse */
VoicePresetResponse: {
/** Desc */
desc: string;
/** Id */
id: string;
/** Name */
name: string;
/** Persona Hint */
persona_hint: string;
/** Voice Id */
voice_id: string;
};
};
responses: never;
parameters: never;
requestBodies: never;
headers: never;
pathItems: never;
}
export type $defs = Record<string, never>;
export interface operations {
get_engine_config_admin_engine_config_get: {
parameters: {
query?: never;
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"]["AdminEngineConfigResponse"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
patch_engine_config_admin_engine_config_patch: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: {
"__Host-vignette_sid"?: string | null;
vignette_sid?: string | null;
};
};
requestBody: {
content: {
"application/json": components["schemas"]["AdminEngineConfigPatch"];
};
};
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["AdminEngineConfigResponse"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
admin_health_admin_health_get: {
parameters: {
query?: never;
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"]["AdminHealthResponse"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
admin_usage_admin_usage_get: {
parameters: {
query?: {
window_days?: number;
};
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"]["AdminUsageResponse"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
list_users_admin_users_get: {
parameters: {
query?: never;
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"]["AdminUsersResponse"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
create_user_admin_users_post: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: {
"__Host-vignette_sid"?: string | null;
vignette_sid?: string | null;
};
};
requestBody: {
content: {
"application/json": components["schemas"]["AdminUserCreate"];
};
};
responses: {
/** @description Successful Response */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["AdminUserResponse"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
delete_user_admin_users__user_id__delete: {
parameters: {
query?: never;
header?: never;
path: {
user_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"]["AdminUserDeleteResponse"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
patch_user_admin_users__user_id__patch: {
parameters: {
query?: never;
header?: never;
path: {
user_id: string;
};
cookie?: {
"__Host-vignette_sid"?: string | null;
vignette_sid?: string | null;
};
};
requestBody: {
content: {
"application/json": components["schemas"]["AdminUserPatch"];
};
};
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["AdminUserResponse"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
callback_auth_callback_get: {
parameters: {
query?: {
code?: string | null;
state?: string | null;
error?: string | null;
error_description?: string | null;
};
header?: never;
path?: never;
cookie?: {
"__Host-vignette_oauth_state"?: string | null;
vignette_oauth_state?: string | null;
};
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": unknown;
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
auth_config_auth_config_get: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["AuthConfigResponse"];
};
};
};
};
dev_login_auth_dev_login_post: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["DevLoginRequest"];
};
};
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["MeResponse"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
login_auth_login_get: {
parameters: {
query?: {
provider?: string;
next?: string | null;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": unknown;
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
logout_auth_logout_post: {
parameters: {
query?: never;
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": {
[key: string]: boolean;
};
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
me_auth_me_get: {
parameters: {
query?: never;
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"]["MeResponse"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
saml_acs_auth_saml_acs_post: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": unknown;
};
};
};
};
eval_health_eval_health_get: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
[key: string]: string;
};
};
};
};
};
get_session_evaluation_eval_sessions__session_id__evaluation_get: {
parameters: {
query?: never;
header?: never;
path: {
session_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"]["EvaluationSummary"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
reevaluate_session_eval_sessions__session_id__reevaluate_post: {
parameters: {
query?: never;
header?: never;
path: {
session_id: string;
};
cookie?: {
"__Host-vignette_sid"?: string | null;
vignette_sid?: string | null;
};
};
requestBody: {
content: {
"application/json": components["schemas"]["ReevaluateRequest"];
};
};
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["SessionEvaluation"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
reevaluate_turn_eval_sessions__session_id__turn_post: {
parameters: {
query?: never;
header?: never;
path: {
session_id: string;
};
cookie?: {
"__Host-vignette_sid"?: string | null;
vignette_sid?: string | null;
};
};
requestBody: {
content: {
"application/json": components["schemas"]["TurnReevaluateRequest"];
};
};
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["TurnEvaluation"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
health_health_get: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": Record<string, never>;
};
};
};
};
eval_grounding_kb_eval_grounding_post: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["KBSearchRequest"];
};
};
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["KBSearchResponse"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
kb_health_kb_health_get: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": Record<string, never>;
};
};
};
};
index_document_kb_index_post: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: {
"__Host-vignette_sid"?: string | null;
vignette_sid?: string | null;
};
};
requestBody: {
content: {
"application/json": components["schemas"]["IndexRequestIn"];
};
};
responses: {
/** @description Successful Response */
202: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["IndexResponse"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
persona_memory_kb_persona_memory_post: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["MemoryRecallRequest"];
};
};
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["KBSearchResponse"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
search_kb_search_post: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["KBSearchRequest"];
};
};
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["KBSearchResponse"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
list_personas_personas_get: {
parameters: {
query?: never;
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"]["PersonaSummary"][];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
create_persona_draft_route_personas_drafts_post: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: {
"__Host-vignette_sid"?: string | null;
vignette_sid?: string | null;
};
};
requestBody: {
content: {
"application/json": components["schemas"]["PersonaDraftPayload"];
};
};
responses: {
/** @description Successful Response */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["PersonaReviewSummary"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
get_persona_draft_route_personas_drafts__persona_id__get: {
parameters: {
query?: never;
header?: never;
path: {
persona_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"]["PersonaDraftDetail"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
update_persona_draft_route_personas_drafts__persona_id__put: {
parameters: {
query?: never;
header?: never;
path: {
persona_id: string;
};
cookie?: {
"__Host-vignette_sid"?: string | null;
vignette_sid?: string | null;
};
};
requestBody: {
content: {
"application/json": components["schemas"]["PersonaDraftPayload"];
};
};
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["PersonaReviewSummary"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
list_persona_reviews_personas_review_get: {
parameters: {
query?: never;
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"]["PersonaReviewSummary"][];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
decide_persona_review_personas_review__persona_id__post: {
parameters: {
query?: never;
header?: never;
path: {
persona_id: string;
};
cookie?: {
"__Host-vignette_sid"?: string | null;
vignette_sid?: string | null;
};
};
requestBody: {
content: {
"application/json": components["schemas"]["PersonaReviewDecisionRequest"];
};
};
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["PersonaReviewSummary"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
list_learner_sessions_sessions_get: {
parameters: {
query?: never;
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"]["LearnerSessionsResponse"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
start_session_sessions_post: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: {
"__Host-vignette_sid"?: string | null;
vignette_sid?: string | null;
};
};
requestBody: {
content: {
"application/json": components["schemas"]["SessionStartRequest"];
};
};
responses: {
/** @description Successful Response */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["SessionStartResponse"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
get_session_detail_sessions__session_id__get: {
parameters: {
query?: never;
header?: never;
path: {
session_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"]["SessionDetailResponse"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
end_session_sessions__session_id__end_post: {
parameters: {
query?: never;
header?: never;
path: {
session_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"]["SessionEndResponse"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
get_session_review_sessions__session_id__review_get: {
parameters: {
query?: never;
header?: never;
path: {
session_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"]["SessionReviewResponse"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
stream_turn_sessions__session_id__stream_post: {
parameters: {
query?: never;
header?: never;
path: {
session_id: string;
};
cookie?: {
"__Host-vignette_sid"?: string | null;
vignette_sid?: string | null;
};
};
requestBody: {
content: {
"application/json": components["schemas"]["TurnRequest"];
};
};
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": unknown;
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
submit_turn_sessions__session_id__turn_post: {
parameters: {
query?: never;
header?: never;
path: {
session_id: string;
};
cookie?: {
"__Host-vignette_sid"?: string | null;
vignette_sid?: string | null;
};
};
requestBody: {
content: {
"application/json": components["schemas"]["TurnRequest"];
};
};
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["TurnResponse"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
teacher_dashboard_teacher_dashboard_get: {
parameters: {
query?: never;
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"]["TeacherDashboardResponse"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
get_me_users_me_get: {
parameters: {
query?: never;
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"]["UserProfileResponse"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
patch_me_users_me_patch: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: {
"__Host-vignette_sid"?: string | null;
vignette_sid?: string | null;
};
};
requestBody: {
content: {
"application/json": components["schemas"]["UserProfilePatch"];
};
};
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["UserProfileResponse"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
get_preferences_users_me_preferences_get: {
parameters: {
query?: never;
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"]["UserPreferencesResponse"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
patch_preferences_users_me_preferences_patch: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: {
"__Host-vignette_sid"?: string | null;
vignette_sid?: string | null;
};
};
requestBody: {
content: {
"application/json": components["schemas"]["UserPreferencesPatch"];
};
};
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["UserPreferencesResponse"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
get_voice_presets_users_me_voice_presets_get: {
parameters: {
query?: never;
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"]["VoicePresetResponse"][];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
voice_health_voice_health_get: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": unknown;
};
};
};
};
}