운영 화면과 회기 리뷰 UI 갱신

This commit is contained in:
Yun Chan 2026-06-28 20:13:21 +09:00
parent e7ebb38177
commit 3a9f70a97b
18 changed files with 2210 additions and 137 deletions

View file

@ -1188,6 +1188,24 @@ export interface paths {
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;
@ -1212,7 +1230,8 @@ export interface paths {
path?: never;
cookie?: never;
};
get?: 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"];
@ -1349,15 +1368,31 @@ export interface components {
* @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}
@ -1386,6 +1421,8 @@ export interface components {
AdminTicketPatch: {
/** Assigned Group */
assigned_group?: string | null;
/** Parent Ticket Id */
parent_ticket_id?: string | null;
/** Priority */
priority?: ("low" | "normal" | "high" | "urgent") | null;
/** Resolution Note */
@ -1521,6 +1558,38 @@ export interface components {
/** 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"];
@ -1528,8 +1597,11 @@ export interface components {
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 */
@ -2904,7 +2976,7 @@ export interface components {
* Kind
* @enum {string}
*/
kind: "audio" | "silence" | "pace" | "barge_in";
kind: "audio" | "silence" | "pace" | "barge_in" | "paralinguistic" | "prosody" | "audio_quality";
/** Label */
label: string;
};
@ -3649,6 +3721,102 @@ export interface components {
*/
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 */
@ -3751,6 +3919,40 @@ export interface components {
/** 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 */
@ -3800,6 +4002,21 @@ export interface components {
/** 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 */
@ -6083,6 +6300,76 @@ export interface operations {
};
};
};
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;
@ -6115,6 +6402,38 @@ export interface operations {
};
};
};
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;