/** * 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/notifications": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * List Notifications * @description Return recent operational email delivery state. */ get: operations["list_notifications_admin_notifications_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/admin/notifications/process": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Process Notifications * @description Drain queued email notifications once from the admin console/API. */ post: operations["process_notifications_admin_notifications_process_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/admin/notifications/test": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Send Test Notification * @description Queue and process one explicit admin email test. */ post: operations["send_test_notification_admin_notifications_test_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/admin/tickets": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * List Tickets * @description Return user-submitted operational tickets without synthetic fallback rows. */ get: operations["list_tickets_admin_tickets_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/admin/tickets/{ticket_id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post?: never; delete?: never; options?: never; head?: never; /** * Patch Ticket * @description Update ticket triage state for administrators. */ patch: operations["patch_ticket_admin_tickets__ticket_id__patch"]; trace?: never; }; "/admin/uptime": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Admin Uptime * @description Return persisted health check samples captured by the admin console. */ get: operations["admin_uptime_admin_uptime_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/consent": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Accept Consent * @description Record the current learner's practice-session consent receipt. */ post: operations["accept_consent_auth_consent_post"]; /** * Withdraw Consent * @description Withdraw practice-session consent until the learner accepts again. */ delete: operations["withdraw_consent_auth_consent_delete"]; 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/live-coach/source-packs/sync": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Sync Live Coach Source Packs * @description 허가된 라이브 코칭 source pack을 kb.source/kb.chunk RAG 색인에 적재한다. * * 로컬 `data/kb/live_coaching_*.json`은 UI 즉시 코칭의 기본 근거이고, 이 경로는 같은 자료를 * evaluator RAG 검색에도 올린다. source row를 먼저 upsert한 뒤 content_hash 기반 증분 색인을 * 수행한다. 임베딩 모델 미가용 시 BM25-only degraded 색인으로 이어진다. */ post: operations["sync_live_coach_source_packs_kb_live_coach_source_packs_sync_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/generate": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Generate Persona Draft Route * @description Generate an editable persona draft from evaluator-only RAG evidence. */ post: operations["generate_persona_draft_route_personas_drafts_generate_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; }; "/personas/sources": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Create Persona Source Route * @description Attach a source document to the persona-authoring KB before draft generation. */ post: operations["create_persona_source_route_personas_sources_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/personas/{persona_id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post?: never; /** * Archive Persona Route * @description Archive a persona code family instead of hard-deleting historical cards. */ delete: operations["archive_persona_route_personas__persona_id__delete"]; options?: never; head?: never; patch?: never; trace?: never; }; "/personas/{persona_id}/revisions": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Create Persona Revision Route * @description Clone an approved/system persona into an editable draft version. */ post: operations["create_persona_revision_route_personas__persona_id__revisions_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/dashboard": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Learner Dashboard * @description Return the current learner's real practice dashboard aggregates. */ get: operations["learner_dashboard_sessions_dashboard_get"]; put?: never; post?: never; 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}/archive": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Archive Session * @description Archive an ended learner-owned session without deleting transcript or review evidence. */ post: operations["archive_session_sessions__session_id__archive_post"]; 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}/live-coach": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * List Live Coach History * @description 현재 회기에서 학습자에게 실제로 전달된 라이브 코칭 이력을 반환한다. */ get: operations["list_live_coach_history_sessions__session_id__live_coach_get"]; put?: never; /** * Live Coach Turn * @description 방금 완료된 턴에 대한 비차단 라이브 코칭을 반환한다. */ post: operations["live_coach_turn_sessions__session_id__live_coach_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/sessions/{session_id}/restore": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Restore Archived Session * @description Restore an archived learner-owned session to the normal history/review queues. */ post: operations["restore_archived_session_sessions__session_id__restore_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 role-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}/review/worksheet": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; /** * Save Session Review Worksheet * @description Persist the learner's edited case formulation worksheet for this session. */ put: operations["save_session_review_worksheet_sessions__session_id__review_worksheet_put"]; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/sessions/{session_id}/share": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Create Session Share * @description Create a public unfurl URL for a learner-owned ended session review. */ post: operations["create_session_share_sessions__session_id__share_post"]; /** * Revoke Session Share * @description Revoke the public share URL for a learner-owned session. */ delete: operations["revoke_session_share_sessions__session_id__share_delete"]; 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; }; "/share/session/{token}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Get Public Session Share */ get: operations["get_public_session_share_share_session__token__get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/share/session/{token}/summary": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Get Public Session Share Summary */ get: operations["get_public_session_share_summary_share_session__token__summary_get"]; put?: never; post?: never; 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; }; "/teacher/sessions/{session_id}/review-status": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; /** Update Session Review Status */ put: operations["update_session_review_status_teacher_sessions__session_id__review_status_put"]; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/users/legal-docs": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Get Legal Documents */ get: operations["get_legal_documents_users_legal_docs_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/avatar": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** Upload My Avatar */ post: operations["upload_my_avatar_users_me_avatar_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/users/me/onboarding": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** Complete Onboarding */ post: operations["complete_onboarding_users_me_onboarding_post"]; delete?: never; options?: never; head?: never; patch?: never; 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/prepost-measures": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** List My Prepost Measures */ get: operations["list_my_prepost_measures_users_me_prepost_measures_get"]; /** Upsert My Prepost Measure */ put: operations["upsert_my_prepost_measure_users_me_prepost_measures_put"]; post?: never; delete?: never; options?: never; head?: never; patch?: never; 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; }; "/users/support-tickets": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** List My Support Tickets */ get: operations["list_my_support_tickets_users_support_tickets_get"]; put?: never; /** Create Support Ticket */ post: operations["create_support_ticket_users_support_tickets_post"]; 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; 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; }; /** AdminHealthEvent */ AdminHealthEvent: { /** Detail */ detail: string; /** Event Id */ event_id: number; /** Load */ load: number; /** Metric */ metric: string; /** Observed At */ observed_at: number; /** * Overall Status * @enum {string} */ overall_status: "ok" | "degraded" | "down"; /** Service Key */ service_key: string; /** Service Name */ service_name: string; /** * Service Status * @enum {string} */ service_status: "ok" | "degraded" | "down"; }; /** AdminHealthResponse */ AdminHealthResponse: { /** Engine Mode */ engine_mode: string; /** Environment */ environment: string; /** Services */ services: components["schemas"]["AdminServiceHealth"][]; /** * Status * @enum {string} */ status: "ok" | "degraded" | "down"; }; /** AdminNotificationDeliveryResponse */ AdminNotificationDeliveryResponse: { /** Attempts */ attempts: number; /** Created At */ created_at?: number | null; /** Event Id */ event_id: string; /** Id */ id: string; /** Kind */ kind: string; /** Last Error */ last_error?: string | null; /** Provider Message Id */ provider_message_id?: string | null; /** Recipient Email */ recipient_email: string; /** Recipient Name */ recipient_name: string; /** Recipient Role */ recipient_role: string; /** Sent At */ sent_at?: number | null; /** * Status * @enum {string} */ status: "queued" | "sending" | "sent" | "failed" | "skipped"; /** Subject */ subject: string; /** Updated At */ updated_at?: number | null; }; /** AdminNotificationProcessResponse */ AdminNotificationProcessResponse: { /** Failed */ failed: number; /** Processed */ processed: number; /** Sent */ sent: number; /** Skipped */ skipped: number; }; /** AdminNotificationTestResponse */ AdminNotificationTestResponse: { /** Failed */ failed: number; /** Processed */ processed: number; /** Provider */ provider: string; /** Recipients */ recipients: number; /** Sent */ sent: number; /** Skipped */ skipped: number; /** Smtp Configured */ smtp_configured: boolean; }; /** AdminNotificationsResponse */ AdminNotificationsResponse: { /** Deliveries */ deliveries: components["schemas"]["AdminNotificationDeliveryResponse"][]; /** Failed */ failed: number; /** Provider */ provider: string; /** Queued */ queued: number; /** Sent */ sent: number; /** Skipped */ skipped: number; /** Smtp Configured */ smtp_configured: boolean; }; /** AdminServiceHealth */ AdminServiceHealth: { /** Detail */ detail: string; /** Key */ key: string; /** Load */ load: number; /** Metric */ metric: string; /** Name */ name: string; /** * Status * @enum {string} */ status: "ok" | "degraded" | "down"; }; /** AdminSupportTicketResponse */ AdminSupportTicketResponse: { /** Assigned Group */ assigned_group: string; /** Body */ body: string; /** * Category * @enum {string} */ category: "account_access" | "session_review" | "voice_browser" | "content_scenario" | "safety" | "other"; /** * Child Ticket Count * @default 0 */ child_ticket_count: number; /** Created At */ created_at: number; /** * Duplicate Count * @default 0 */ duplicate_count: number; /** Duplicate Parent Candidate Id */ duplicate_parent_candidate_id?: string | null; /** * Event Count * @default 0 */ event_count: number; /** Fingerprint */ fingerprint: string; /** Last Event At */ last_event_at?: number | null; /** Parent Ticket Id */ parent_ticket_id?: string | null; /** * Priority * @enum {string} */ priority: "low" | "normal" | "high" | "urgent"; reporter: components["schemas"]["AdminTicketReporter"]; /** Resolution Note */ resolution_note: string; /** Resolved At */ resolved_at?: number | null; /** Source Path */ source_path: string; /** * Status * @enum {string} */ status: "open" | "triaged" | "in_progress" | "resolved" | "closed"; /** Subject */ subject: string; /** Ticket Id */ ticket_id: string; /** Updated At */ updated_at: number; }; /** AdminTicketPatch */ AdminTicketPatch: { /** Assigned Group */ assigned_group?: string | null; /** Parent Ticket Id */ parent_ticket_id?: string | null; /** Priority */ priority?: ("low" | "normal" | "high" | "urgent") | null; /** Resolution Note */ resolution_note?: string | null; /** Status */ status?: ("open" | "triaged" | "in_progress" | "resolved" | "closed") | null; }; /** AdminTicketReporter */ AdminTicketReporter: { /** Display Name */ display_name: string; /** Email */ email: string; /** Role */ role: string; /** User Id */ user_id?: string | null; }; /** AdminTicketSummary */ AdminTicketSummary: { /** By Category */ by_category: { [key: string]: number; }; /** By Priority */ by_priority: { [key: string]: number; }; /** By Status */ by_status: { [key: string]: number; }; /** High Priority Count */ high_priority_count: number; /** Open Count */ open_count: number; /** Stale Count */ stale_count: number; /** Total */ total: number; }; /** AdminTicketsResponse */ AdminTicketsResponse: { /** Durable */ durable: boolean; /** Generated At */ generated_at: number; /** * Source * @enum {string} */ source: "database" | "unavailable"; summary: components["schemas"]["AdminTicketSummary"]; /** Tickets */ tickets: components["schemas"]["AdminSupportTicketResponse"][]; }; /** AdminUptimeResponse */ AdminUptimeResponse: { /** Degraded Events */ degraded_events: number; /** Down Events */ down_events: number; /** Durable */ durable: boolean; /** Events */ events: components["schemas"]["AdminHealthEvent"][]; /** Generated At */ generated_at: number; /** Last Down At */ last_down_at?: number | null; /** Ok Ratio */ ok_ratio: number; /** Sample Count */ sample_count: number; /** Services */ services: components["schemas"]["AdminUptimeServiceSummary"][]; /** * Source * @enum {string} */ source: "database" | "unavailable"; /** Window Hours */ window_hours: number; }; /** AdminUptimeServiceSummary */ AdminUptimeServiceSummary: { /** Degraded Samples */ degraded_samples: number; /** Down Samples */ down_samples: number; /** Latest Observed At */ latest_observed_at?: number | null; /** * Latest Status * @enum {string} */ latest_status: "ok" | "degraded" | "down"; /** Ok Samples */ ok_samples: number; /** Samples */ samples: number; /** Service Key */ service_key: string; /** Service Name */ service_name: string; }; /** 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; }; /** AdminUsageDailyCost */ AdminUsageDailyCost: { /** Cost Usd */ cost_usd: number; /** Day */ day: string; /** Tokens In */ tokens_in: number; /** Tokens Out */ tokens_out: number; /** Turns */ turns: number; }; /** AdminUsageEvaluatorCache */ AdminUsageEvaluatorCache: { /** Enabled */ enabled: boolean; /** Entries */ entries: number; /** Evictions */ evictions: number; /** Hit Rate */ hit_rate: number; /** Hits */ hits: number; /** Misses */ misses: number; /** Requests */ requests: number; /** Stores */ stores: number; }; /** AdminUsageResponse */ AdminUsageResponse: { budget: components["schemas"]["AdminUsageBudget"]; /** By Provider */ by_provider: components["schemas"]["AdminUsageBreakdown"][]; /** Cost Usd */ cost_usd: number; /** Daily Cost */ daily_cost?: components["schemas"]["AdminUsageDailyCost"][]; /** Durable */ durable: boolean; evaluator_cache: components["schemas"]["AdminUsageEvaluatorCache"]; /** 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: { /** * Account Status * @default approved * @enum {string} */ account_status: "pending" | "approved" | "suspended"; /** * Admin Access * @default false */ admin_access: boolean; /** 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: { /** Account Status */ account_status?: ("pending" | "approved" | "suspended") | null; /** Admin Access */ admin_access?: boolean | null; /** Affiliation */ affiliation?: string | null; /** Cohort Ids */ cohort_ids?: string[] | null; /** Display Name */ display_name?: string | null; /** Role */ role?: ("learner" | "teacher" | "admin") | null; }; /** AdminUserResponse */ AdminUserResponse: { /** * Account Status * @enum {string} */ account_status: "pending" | "approved" | "suspended"; /** Active Sessions */ active_sessions: number; /** Admin Access */ admin_access: boolean; /** 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"; /** * Super Admin * @default false */ super_admin: boolean; /** 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"; }; /** AvatarUploadResponse */ AvatarUploadResponse: { /** Avatar Url */ avatar_url: string; /** Content Type */ content_type: string; /** Size Bytes */ size_bytes: number; }; /** Body_upload_my_avatar_users_me_avatar_post */ Body_upload_my_avatar_users_me_avatar_post: { /** * File * Format: binary */ file: string; }; /** 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; /** Score */ score: number; /** Source Id */ source_id?: string | null; }; /** * ClientStateRead * @description 내담자 상태 '읽기' — 학습자 발화 직후 내담자 응답에서 관측된 상태(읽기 채점 근거). */ ClientStateRead: { /** Code */ code: string; /** Label Ko */ label_ko: string; /** Rationale */ rationale?: string | null; }; /** ConsentRequest */ ConsentRequest: { /** * Accepted * @default true */ accepted: boolean; }; /** ConsentResponse */ ConsentResponse: { /** Consent At */ consent_at?: number | 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 | null; /** Distribution */ distribution?: Record; /** Session Id */ session_id: string; /** Stage */ stage?: ("라포" | "탐색" | "개입" | "정리") | null; }; /** 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 | 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; }; /** LearnerDashboardAchievement */ LearnerDashboardAchievement: { /** Detail */ detail: string; /** Id */ id: string; /** Label */ label: string; /** * State * @default locked * @enum {string} */ state: "done" | "available" | "locked"; }; /** LearnerDashboardFeedbackItem */ LearnerDashboardFeedbackItem: { /** Created At */ created_at: string; /** Note */ note: string; /** Persona Code */ persona_code: string; /** Persona Name */ persona_name: string; /** Rapport */ rapport?: number | null; /** Score */ score?: number | null; /** Session Id */ session_id: string; /** Session No */ session_no: number; /** * Stage * @enum {string} */ stage: "라포" | "탐색" | "개입" | "정리"; /** Techniques */ techniques?: string[]; /** Turn Seq */ turn_seq: number; }; /** LearnerDashboardGrowth */ LearnerDashboardGrowth: { /** Avg Rapport */ avg_rapport?: number | null; /** Avg Score */ avg_score?: number | null; /** * Evaluated Sessions * @default 0 */ evaluated_sessions: number; /** First Score */ first_score?: number | null; /** Latest Score */ latest_score?: number | null; /** Points */ points?: components["schemas"]["LearnerDashboardGrowthPoint"][]; /** Score Delta */ score_delta?: number | null; /** Top Techniques */ top_techniques?: string[]; /** * Trend * @default insufficient */ trend: string; }; /** LearnerDashboardGrowthPoint */ LearnerDashboardGrowthPoint: { /** 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 * @enum {string} */ stage: "라포" | "탐색" | "개입" | "정리"; /** Started At */ started_at: string; /** * Technique Count * @default 0 */ technique_count: number; /** * Watch Count * @default 0 */ watch_count: number; }; /** LearnerDashboardOverview */ LearnerDashboardOverview: { /** * Active Sessions * @default 0 */ active_sessions: number; /** * Archived Sessions * @default 0 */ archived_sessions: number; /** * Client Turns * @default 0 */ client_turns: number; /** * Completed Sessions * @default 0 */ completed_sessions: number; /** Last Practiced At */ last_practiced_at?: string | null; /** * Learner Turns * @default 0 */ learner_turns: number; /** * Review Ready Sessions * @default 0 */ review_ready_sessions: number; /** * Total Sessions * @default 0 */ total_sessions: number; }; /** LearnerDashboardPersonaProgress */ LearnerDashboardPersonaProgress: { /** * Active Sessions * @default 0 */ active_sessions: number; /** * Completed Sessions * @default 0 */ completed_sessions: number; /** Latest At */ latest_at?: string | null; /** Latest Score */ latest_score?: number | null; /** Latest Stage */ latest_stage?: ("라포" | "탐색" | "개입" | "정리") | null; /** Persona Code */ persona_code: string; /** Persona Name */ persona_name: string; /** * Review Ready Sessions * @default 0 */ review_ready_sessions: number; /** * Sessions * @default 0 */ sessions: number; /** * Trend * @default insufficient */ trend: string; }; /** LearnerDashboardResponse */ LearnerDashboardResponse: { /** Achievements */ achievements?: components["schemas"]["LearnerDashboardAchievement"][]; growth: components["schemas"]["LearnerDashboardGrowth"]; /** Message */ message: string; overview: components["schemas"]["LearnerDashboardOverview"]; /** Persona Progress */ persona_progress?: components["schemas"]["LearnerDashboardPersonaProgress"][]; /** Recent Feedback */ recent_feedback?: components["schemas"]["LearnerDashboardFeedbackItem"][]; /** * Source * @default runtime */ source: string; }; /** LearnerSessionSummary */ LearnerSessionSummary: { /** * Archived * @default false */ archived: boolean; /** Archived At */ archived_at?: string | null; /** 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 * @enum {string} */ stage: "라포" | "탐색" | "개입" | "정리"; /** 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; }; /** LegalDocument */ LegalDocument: { /** Body */ body: string; /** * Kind * @enum {string} */ kind: "terms" | "privacy"; /** * Status * @default draft * @constant * @enum {string} */ status: "draft"; /** Title */ title: string; /** Version */ version: string; }; /** LegalDocumentsResponse */ LegalDocumentsResponse: { privacy: components["schemas"]["LegalDocument"]; /** Source Note */ source_note: string; terms: components["schemas"]["LegalDocument"]; }; /** * LiveCoachEvent * @description 회기 중 실제로 전달된 라이브 코칭 이력. */ LiveCoachEvent: { /** Client Reply Excerpt */ client_reply_excerpt?: string | null; /** Created At */ created_at: string; /** Event Id */ event_id: string; /** Learner Text Excerpt */ learner_text_excerpt?: string | null; /** Session Id */ session_id: string; /** Stage */ stage?: ("라포" | "탐색" | "개입" | "정리") | null; suggestion: components["schemas"]["LiveCoachSuggestion"]; /** Turn Seq */ turn_seq: number; }; /** LiveCoachHistoryResponse */ LiveCoachHistoryResponse: { /** Events */ events?: components["schemas"]["LiveCoachEvent"][]; /** * Source * @default runtime * @enum {string} */ source: "database" | "runtime"; }; /** LiveCoachRequest */ LiveCoachRequest: { /** Client Reply */ client_reply?: string | null; /** Learner Text */ learner_text: string; /** Turn Seq */ turn_seq?: number | null; }; /** * LiveCoachSource * @description 라이브 코칭 근거 출처. 원문 장문이 아니라 출처 식별자와 위치만 노출한다. */ LiveCoachSource: { /** Citation */ citation?: string | null; /** * Kb Kind * @default template */ kb_kind: string; /** Locator */ locator?: string | null; /** Source Id */ source_id: string; /** Source Type */ source_type?: string | null; /** Title */ title: string; /** Version */ version?: string | null; }; /** LiveCoachSourcePackSyncItem */ LiveCoachSourcePackSyncItem: { /** Chunks Indexed */ chunks_indexed: number; /** * Degraded * @default false */ degraded: boolean; /** Doc Id */ doc_id: number | null; /** Embedded */ embedded: boolean; /** Skipped Unchanged */ skipped_unchanged: boolean; /** Source Id */ source_id: string; }; /** LiveCoachSourcePackSyncResponse */ LiveCoachSourcePackSyncResponse: { /** Chunks Indexed */ chunks_indexed: number; /** * Degraded * @default false */ degraded: boolean; /** Embedded */ embedded: boolean; /** Items */ items?: components["schemas"]["LiveCoachSourcePackSyncItem"][]; /** Skipped Unchanged */ skipped_unchanged: number; /** Sources Upserted */ sources_upserted: number; }; /** * LiveCoachSuggestion * @description 프론트가 그대로 표시하는 턴 직후 코칭 카드. */ LiveCoachSuggestion: { /** * Focus * @default exploration * @enum {string} */ focus: "rapport" | "exploration" | "risk" | "emotion" | "cognition" | "behavior" | "interpersonal" | "goal" | "pacing"; /** * Latency Ms * @default 0 */ latency_ms: number; /** Message */ message: string; /** Next Utterance */ next_utterance?: string | null; /** Rationale */ rationale?: string | null; /** Safety Note */ safety_note?: string | null; /** Sources */ sources?: components["schemas"]["LiveCoachSource"][]; /** * Status * @default ready * @enum {string} */ status: "ready" | "degraded"; /** Title */ title: string; /** * Tone * @default neutral * @enum {string} */ tone: "pos" | "warn" | "neutral"; }; /** MeResponse */ MeResponse: { /** * Account Status * @default approved * @enum {string} */ account_status: "pending" | "approved" | "suspended"; /** * Admin Access * @default false */ admin_access: boolean; /** * Approval Required * @default false */ approval_required: boolean; /** * Avatar Url * @default */ avatar_url: string; /** Cohort Ids */ cohort_ids: string[]; /** Consent At */ consent_at?: number | null; /** Display Name */ display_name: string; /** Email */ email: string; /** * Nickname * @default */ nickname: string; /** Onboarding Completed At */ onboarding_completed_at?: number | null; /** * Role * @enum {string} */ role: "learner" | "teacher" | "admin"; /** * Self Introduction * @default */ self_introduction: string; /** * Super Admin * @default false */ super_admin: boolean; /** 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: { /** * Account Approval * @default true */ account_approval: boolean; /** * 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; }; /** OnboardingRequest */ OnboardingRequest: { /** Affiliation */ affiliation: string; /** * Avatar Url * @default */ avatar_url: string; /** Contact Address */ contact_address: string; /** Department */ department: string; /** Grade Level */ grade_level: string; /** Legal Name */ legal_name: string; /** Nickname */ nickname: string; /** Phone */ phone: string; /** Privacy Accepted */ privacy_accepted: boolean; /** Self Introduction */ self_introduction: string; /** Terms Accepted */ terms_accepted: 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[]; /** Triggers */ triggers: { [key: string]: unknown; }; /** Version */ version: number; }; /** PersonaDraftGenerateRequest */ PersonaDraftGenerateRequest: { /** Code Hint */ code_hint?: string | null; /** * Difficulty * @default moderate * @enum {string} */ difficulty: "easy" | "moderate" | "hard"; /** Display Name Hint */ display_name_hint?: string | null; /** * Generation Goal * @default */ generation_goal: string; /** Source Ids */ source_ids?: string[]; /** * Source Kind * @default mixed_notes * @enum {string} */ source_kind: "client_record" | "textbook_guide" | "mixed_notes"; /** Source Text */ source_text?: string | null; /** Theory Target */ theory_target?: string[]; }; /** PersonaDraftGenerateResponse */ PersonaDraftGenerateResponse: { draft: components["schemas"]["PersonaDraftPayload"]; /** Evidence Chunks */ evidence_chunks?: components["schemas"]["PersonaGenerationEvidence"][]; /** Pii Entities Masked */ pii_entities_masked?: string[]; /** Source References */ source_references?: components["schemas"]["PersonaSourceDocumentResponse"][]; /** * Source Summary * @default */ source_summary: string; /** Warnings */ warnings?: string[]; }; /** 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[]; /** Triggers */ triggers?: { [key: string]: unknown; }; }; /** PersonaGenerationEvidence */ PersonaGenerationEvidence: { /** Chunk Id */ chunk_id: number; /** Excerpt */ excerpt: string; /** Heading Path */ heading_path?: string | null; /** Kb Kind */ kb_kind: string; /** Score */ score: number; /** Source Id */ source_id: 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; }; /** PersonaRevisionRequest */ PersonaRevisionRequest: { /** * Submit For Review * @default false */ submit_for_review: boolean; }; /** PersonaSourceDocumentRequest */ PersonaSourceDocumentRequest: { /** Filename */ filename: string; /** * Source Kind * @default mixed_notes * @enum {string} */ source_kind: "client_record" | "textbook_guide" | "mixed_notes"; /** * Source Note * @default */ source_note: string; /** Text */ text: string; /** Title */ title?: string | null; }; /** PersonaSourceDocumentResponse */ PersonaSourceDocumentResponse: { /** Chunk Count */ chunk_count: number; /** Chunks Indexed */ chunks_indexed: number; /** Content Hash */ content_hash: string; /** * Degraded * @default false */ degraded: boolean; /** Doc Id */ doc_id: number | null; /** Doc Uri */ doc_uri: string; /** Embedded */ embedded: boolean; /** * External Llm Ok * @default true */ external_llm_ok: boolean; /** Kb Kind */ kb_kind: string; /** * License Class * @default B * @enum {string} */ license_class: "A" | "B" | "C" | "D"; /** Pii Entities Masked */ pii_entities_masked?: string[]; /** Source Id */ source_id: string; /** * Source Kind * @enum {string} */ source_kind: "client_record" | "textbook_guide" | "mixed_notes"; /** Title */ title: string; }; /** PersonaSummary */ PersonaSummary: { /** Code */ code: string; /** * Degraded * @default false */ degraded: boolean; /** Demographics */ demographics: Record; /** Difficulty */ difficulty: string; /** Display Name */ display_name: string; /** Persona Id */ persona_id?: string | null; /** Presenting Summary */ presenting_summary: string; /** * Source * @default database */ source: string; /** * Status * @default approved * @constant * @enum {string} */ status: "approved"; /** Theory Target */ theory_target: string[]; /** Version */ version?: number | null; /** Voice Preset */ voice_preset?: string | null; }; /** PublicSessionShareResponse */ PublicSessionShareResponse: { /** Appurl */ appUrl: string; /** Clientname */ clientName: string; /** Date */ date: string; /** Description */ description: string; /** Durationlabel */ durationLabel: string; /** Goodmoments */ goodMoments?: string[]; /** Growthpoints */ growthPoints?: string[]; /** Imageurl */ imageUrl: string; /** Persona */ persona: string; /** * Privacy * @default */ privacy: string; /** Reachedphase */ reachedPhase?: ("라포" | "탐색" | "개입" | "정리") | null; /** * Reviewready * @default false */ reviewReady: boolean; /** Sessionsignal */ sessionSignal: string; /** Summary */ summary: string; /** Title */ title: string; /** Worksheethighlights */ worksheetHighlights?: { [key: string]: string; }[]; }; /** 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[]; /** Savedat */ savedAt?: string | null; /** Sections */ sections?: components["schemas"]["ReviewWorksheetSection-Output"][]; /** * Status * @default empty * @enum {string} */ status: "empty" | "draft_from_transcript" | "saved_by_learner"; }; /** ReviewCaseWorksheetSaveRequest */ ReviewCaseWorksheetSaveRequest: { /** Limitations */ limitations?: string[]; /** Sections */ sections?: components["schemas"]["ReviewWorksheetSection-Input"][]; }; /** 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" | "paralinguistic" | "prosody" | "audio_quality"; /** Label */ label: string; }; /** ReviewNote */ ReviewNote: { /** Author */ author: string; /** Body */ body: string; /** Quote */ quote?: string | null; /** Title */ title: string; /** Tone */ tone: string; }; /** ReviewPhaseSegment */ ReviewPhaseSegment: { /** * Key * @enum {string} */ key: "rapport" | "explore" | "intervene" | "closing"; /** * Label * @enum {string} */ label: "라포" | "탐색" | "개입" | "정리"; /** 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-Input": { /** Items */ items?: components["schemas"]["ReviewWorksheetItem"][]; /** Key */ key: string; /** Title */ title: string; }; /** ReviewWorksheetSection */ "ReviewWorksheetSection-Output": { /** Items */ items?: components["schemas"]["ReviewWorksheetItem"][]; /** Key */ key: string; /** Title */ title: string; }; /** SessionArchiveResponse */ SessionArchiveResponse: { /** Archived */ archived: boolean; /** Archived At */ archived_at?: string | null; session: components["schemas"]["LearnerSessionSummary"]; /** Session Id */ session_id: string; /** * Source * @default runtime */ source: 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 * @enum {string} */ stage: "라포" | "탐색" | "개입" | "정리"; /** 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 * @enum {string} */ stage: "라포" | "탐색" | "개입" | "정리"; /** 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; }; /** SessionEvaluationResponse */ SessionEvaluationResponse: { /** 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 * @enum {string} */ stage: "라포" | "탐색" | "개입" | "정리"; /** 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 * @enum {string} */ reachedPhase: "라포" | "탐색" | "개입" | "정리"; /** * 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; teacherReview?: components["schemas"]["SessionTeacherReviewStatus"] | null; /** Turns */ turns?: components["schemas"]["ReviewTurn"][]; /** Valenceaxis */ valenceAxis?: string[]; }; /** SessionShareDeleteResponse */ SessionShareDeleteResponse: { /** Revoked */ revoked: boolean; }; /** SessionShareResponse */ SessionShareResponse: { /** Createdat */ createdAt: string; /** Description */ description: string; /** Imageurl */ imageUrl: string; /** Shareurl */ shareUrl: string; /** Title */ title: 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 * @enum {string} */ stage: "라포" | "탐색" | "개입" | "정리"; }; /** SessionTeacherReviewStatus */ SessionTeacherReviewStatus: { /** * Note * @default */ note: string; /** Reviewedat */ reviewedAt?: string | null; /** Reviewerid */ reviewerId?: string | null; /** * Status * @default pending * @enum {string} */ status: "pending" | "viewed" | "closed"; /** Updatedat */ updatedAt?: string | null; /** * Worksheetnote * @default */ worksheetNote: string; /** Worksheetreviewedat */ worksheetReviewedAt?: string | null; /** * Worksheetstatus * @default pending * @enum {string} */ worksheetStatus: "pending" | "approved" | "changes_requested" | "rejected"; }; /** 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 * @enum {string} */ stage: "라포" | "탐색" | "개입" | "정리"; /** 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; }; /** TeacherSessionReviewStatusRequest */ TeacherSessionReviewStatusRequest: { /** * Note * @default */ note: string; /** * Status * @default closed * @enum {string} */ status: "viewed" | "closed"; /** Worksheet Note */ worksheet_note?: string | null; /** Worksheet Status */ worksheet_status?: ("approved" | "changes_requested" | "rejected" | "pending") | null; }; /** TeacherSessionReviewStatusResponse */ TeacherSessionReviewStatusResponse: { /** * Note * @default */ note: string; /** Reviewed At */ reviewed_at?: string | null; /** Reviewer Id */ reviewer_id?: string | null; /** Session Id */ session_id: string; /** * Status * @default pending * @enum {string} */ status: "pending" | "viewed" | "closed"; /** Updated At */ updated_at?: string | null; /** * Worksheet Note * @default */ worksheet_note: string; /** Worksheet Reviewed At */ worksheet_reviewed_at?: string | null; /** * Worksheet Status * @default pending * @enum {string} */ worksheet_status: "pending" | "approved" | "changes_requested" | "rejected"; }; /** 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; /** Review Note */ review_note?: string | null; /** * Review Status * @default pending * @enum {string} */ review_status: "pending" | "viewed" | "closed"; /** Reviewed At */ reviewed_at?: string | null; /** Session Id */ session_id: string; /** Session No */ session_no: number; /** * Stage * @enum {string} */ stage: "라포" | "탐색" | "개입" | "정리"; /** 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; }; /** TurnEvaluationResponse */ TurnEvaluationResponse: { /** * 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 * @enum {string} */ stage: "라포" | "탐색" | "개입" | "정리"; /** 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 * @enum {string} */ stage: "라포" | "탐색" | "개입" | "정리"; /** 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; }; /** UserPrepostMeasureItem */ UserPrepostMeasureItem: { /** Collected At */ collected_at: number; /** Instrument Version */ instrument_version: string; /** Item Count */ item_count: number; /** Max Score */ max_score: number; /** Measure Id */ measure_id: string; /** * Measure Name * @enum {string} */ measure_name: "self_efficacy" | "skill_proficiency" | "training_satisfaction"; /** Min Score */ min_score: number; /** Normalized Score */ normalized_score: number; /** Pilot Id */ pilot_id: string; /** Raw Score */ raw_score: number; /** * Timepoint * @enum {string} */ timepoint: "pre" | "post"; /** Updated At */ updated_at: number; }; /** UserPrepostMeasureRequest */ UserPrepostMeasureRequest: { /** * Instrument Version * @default pilot-prepost-scaffold-2026-06-28 */ instrument_version: string; /** * Item Count * @default 1 */ item_count: number; /** * Max Score * @default 5 */ max_score: number; /** * Measure Name * @enum {string} */ measure_name: "self_efficacy" | "skill_proficiency" | "training_satisfaction"; /** * Min Score * @default 1 */ min_score: number; /** * Pilot Id * @default phase3-pilot-draft */ pilot_id: string; /** Raw Score */ raw_score: number; /** * Timepoint * @enum {string} */ timepoint: "pre" | "post"; }; /** UserPrepostMeasuresResponse */ UserPrepostMeasuresResponse: { /** Complete Measure Pairs */ complete_measure_pairs: number; /** Durable */ durable: boolean; /** Generated At */ generated_at: number; /** Measures */ measures: components["schemas"]["UserPrepostMeasureItem"][]; /** Pilot Id */ pilot_id: string; /** Required Measure Names */ required_measure_names: ("self_efficacy" | "skill_proficiency" | "training_satisfaction")[]; /** Required Timepoints */ required_timepoints: ("pre" | "post")[]; /** * Source * @constant * @enum {string} */ source: "database"; }; /** UserProfilePatch */ UserProfilePatch: { /** Affiliation */ affiliation?: string | null; /** Avatar Url */ avatar_url?: string | null; /** Contact Address */ contact_address?: string | null; /** Department */ department?: string | null; /** Display Name */ display_name?: string | null; /** Grade Level */ grade_level?: string | null; /** Legal Name */ legal_name?: string | null; /** Nickname */ nickname?: string | null; /** Phone */ phone?: string | null; /** Self Introduction */ self_introduction?: string | null; }; /** UserProfileResponse */ UserProfileResponse: { /** Affiliation */ affiliation: string; /** * Avatar Url * @default */ avatar_url: string; /** Cohort Ids */ cohort_ids: string[]; /** * Contact Address * @default */ contact_address: string; /** * Department * @default */ department: string; /** Display Name */ display_name: string; /** Email */ email: string; /** * Grade Level * @default */ grade_level: string; /** * Legal Name * @default */ legal_name: string; /** * Nickname * @default */ nickname: string; /** Onboarding Completed At */ onboarding_completed_at?: number | null; /** * Onboarding Required * @default true */ onboarding_required: boolean; /** * Phone * @default */ phone: string; /** Privacy Agreed At */ privacy_agreed_at?: number | null; /** * Privacy Version * @default */ privacy_version: string; /** * Role * @enum {string} */ role: "learner" | "teacher" | "admin"; /** * Self Introduction * @default */ self_introduction: string; /** Terms Agreed At */ terms_agreed_at?: number | null; /** * Terms Version * @default */ terms_version: string; /** User Id */ user_id: string; }; /** UserSupportTicketListItem */ UserSupportTicketListItem: { /** Assigned Group */ assigned_group: string; /** * Category * @enum {string} */ category: "account_access" | "session_review" | "voice_browser" | "content_scenario" | "safety" | "other"; /** Created At */ created_at: number; /** * Priority * @enum {string} */ priority: "low" | "normal" | "high" | "urgent"; /** Resolution Note */ resolution_note: string; /** Resolved At */ resolved_at?: number | null; /** Source Path */ source_path: string; /** * Status * @enum {string} */ status: "open" | "triaged" | "in_progress" | "resolved" | "closed"; /** Subject */ subject: string; /** Ticket Id */ ticket_id: string; /** Updated At */ updated_at: number; }; /** UserSupportTicketRequest */ UserSupportTicketRequest: { /** Body */ body: string; /** * Category * @default other * @enum {string} */ category: "account_access" | "session_review" | "voice_browser" | "content_scenario" | "safety" | "other"; /** * Priority * @default normal * @enum {string} */ priority: "low" | "normal" | "high" | "urgent"; /** * Source Path * @default */ source_path: string; /** Subject */ subject: string; }; /** UserSupportTicketResponse */ UserSupportTicketResponse: { /** * Category * @enum {string} */ category: "account_access" | "session_review" | "voice_browser" | "content_scenario" | "safety" | "other"; /** Created At */ created_at: number; /** * Priority * @enum {string} */ priority: "low" | "normal" | "high" | "urgent"; /** * Status * @constant * @enum {string} */ status: "open"; /** Subject */ subject: string; /** Ticket Id */ ticket_id: string; }; /** UserSupportTicketsResponse */ UserSupportTicketsResponse: { /** Durable */ durable: boolean; /** Generated At */ generated_at: number; /** * Source * @constant * @enum {string} */ source: "database"; /** Tickets */ tickets: components["schemas"]["UserSupportTicketListItem"][]; }; /** 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; 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"]; }; }; }; }; list_notifications_admin_notifications_get: { parameters: { query?: { limit?: 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"]["AdminNotificationsResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; process_notifications_admin_notifications_process_post: { parameters: { query?: { limit?: 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"]["AdminNotificationProcessResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; send_test_notification_admin_notifications_test_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": components["schemas"]["AdminNotificationTestResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; list_tickets_admin_tickets_get: { parameters: { query?: { status?: ("open" | "triaged" | "in_progress" | "resolved" | "closed") | null; category?: ("account_access" | "session_review" | "voice_browser" | "content_scenario" | "safety" | "other") | null; priority?: ("low" | "normal" | "high" | "urgent") | null; assigned_group?: string | null; source_path?: string | null; stale_only?: boolean; search?: string; 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"]["AdminTicketsResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; patch_ticket_admin_tickets__ticket_id__patch: { parameters: { query?: never; header?: never; path: { ticket_id: string; }; cookie?: { "__Host-vignette_sid"?: string | null; vignette_sid?: string | null; }; }; requestBody: { content: { "application/json": components["schemas"]["AdminTicketPatch"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AdminSupportTicketResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; admin_uptime_admin_uptime_get: { parameters: { query?: { window_hours?: 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"]["AdminUptimeResponse"]; }; }; /** @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"]; }; }; }; }; accept_consent_auth_consent_post: { parameters: { query?: never; header?: never; path?: never; cookie?: { "__Host-vignette_sid"?: string | null; vignette_sid?: string | null; }; }; requestBody: { content: { "application/json": components["schemas"]["ConsentRequest"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ConsentResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; withdraw_consent_auth_consent_delete: { 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"]["ConsentResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; 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"]["SessionEvaluationResponse"]; }; }; /** @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"]["TurnEvaluationResponse"]; }; }; /** @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; }; }; }; }; 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; }; }; }; }; 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"]; }; }; }; }; sync_live_coach_source_packs_kb_live_coach_source_packs_sync_post: { parameters: { query?: never; header?: never; path?: never; cookie?: { "__Host-vignette_sid"?: string | null; vignette_sid?: string | null; }; }; requestBody?: never; responses: { /** @description Successful Response */ 202: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["LiveCoachSourcePackSyncResponse"]; }; }; /** @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"]; }; }; }; }; generate_persona_draft_route_personas_drafts_generate_post: { parameters: { query?: never; header?: never; path?: never; cookie?: { "__Host-vignette_sid"?: string | null; vignette_sid?: string | null; }; }; requestBody: { content: { "application/json": components["schemas"]["PersonaDraftGenerateRequest"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["PersonaDraftGenerateResponse"]; }; }; /** @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"]; }; }; }; }; create_persona_source_route_personas_sources_post: { parameters: { query?: never; header?: never; path?: never; cookie?: { "__Host-vignette_sid"?: string | null; vignette_sid?: string | null; }; }; requestBody: { content: { "application/json": components["schemas"]["PersonaSourceDocumentRequest"]; }; }; 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; 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"]["PersonaReviewSummary"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; create_persona_revision_route_personas__persona_id__revisions_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"]["PersonaRevisionRequest"]; }; }; responses: { /** @description Successful Response */ 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["PersonaDraftDetail"]; }; }; /** @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"]; }; }; }; }; learner_dashboard_sessions_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"]["LearnerDashboardResponse"]; }; }; /** @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"]; }; }; }; }; archive_session_sessions__session_id__archive_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"]["SessionArchiveResponse"]; }; }; /** @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"]; }; }; }; }; list_live_coach_history_sessions__session_id__live_coach_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"]["LiveCoachHistoryResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; live_coach_turn_sessions__session_id__live_coach_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"]["LiveCoachRequest"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["LiveCoachSuggestion"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; restore_archived_session_sessions__session_id__restore_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"]["SessionArchiveResponse"]; }; }; /** @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"]; }; }; }; }; save_session_review_worksheet_sessions__session_id__review_worksheet_put: { 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"]["ReviewCaseWorksheetSaveRequest"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ReviewCaseWorksheet"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; create_session_share_sessions__session_id__share_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"]["SessionShareResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; revoke_session_share_sessions__session_id__share_delete: { 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"]["SessionShareDeleteResponse"]; }; }; /** @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"]; }; }; }; }; get_public_session_share_share_session__token__get: { parameters: { query?: never; header?: never; path: { token: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "text/html": string; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; get_public_session_share_summary_share_session__token__summary_get: { parameters: { query?: never; header?: never; path: { token: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["PublicSessionShareResponse"]; }; }; /** @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"]; }; }; }; }; update_session_review_status_teacher_sessions__session_id__review_status_put: { 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"]["TeacherSessionReviewStatusRequest"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["TeacherSessionReviewStatusResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; get_legal_documents_users_legal_docs_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"]["LegalDocumentsResponse"]; }; }; /** @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"]; }; }; }; }; upload_my_avatar_users_me_avatar_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_my_avatar_users_me_avatar_post"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AvatarUploadResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; complete_onboarding_users_me_onboarding_post: { parameters: { query?: never; header?: never; path?: never; cookie?: { "__Host-vignette_sid"?: string | null; vignette_sid?: string | null; }; }; requestBody: { content: { "application/json": components["schemas"]["OnboardingRequest"]; }; }; 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"]; }; }; }; }; list_my_prepost_measures_users_me_prepost_measures_get: { parameters: { query?: { pilot_id?: string; }; 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"]["UserPrepostMeasuresResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; upsert_my_prepost_measure_users_me_prepost_measures_put: { parameters: { query?: never; header?: never; path?: never; cookie?: { "__Host-vignette_sid"?: string | null; vignette_sid?: string | null; }; }; requestBody: { content: { "application/json": components["schemas"]["UserPrepostMeasureRequest"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["UserPrepostMeasureItem"]; }; }; /** @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"]; }; }; }; }; list_my_support_tickets_users_support_tickets_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"]["UserSupportTicketsResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; create_support_ticket_users_support_tickets_post: { parameters: { query?: never; header?: never; path?: never; cookie?: { "__Host-vignette_sid"?: string | null; vignette_sid?: string | null; }; }; requestBody: { content: { "application/json": components["schemas"]["UserSupportTicketRequest"]; }; }; responses: { /** @description Successful Response */ 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["UserSupportTicketResponse"]; }; }; /** @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; }; }; }; }; }