텍스트 응답 음성 재생 연결

This commit is contained in:
Yun Chan 2026-07-13 16:09:34 +09:00
parent 64e06a1185
commit d80e33da5e
9 changed files with 524 additions and 16 deletions

View file

@ -407,6 +407,26 @@ export interface paths {
patch?: never;
trace?: never;
};
"/client-diagnostics": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Record Client Diagnostic
* @description Log a minimal browser-side boot/render failure report.
*/
post: operations["record_client_diagnostic_client_diagnostics_post"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/eval/health": {
parameters: {
query?: never;
@ -1341,6 +1361,30 @@ export interface paths {
patch?: never;
trace?: never;
};
"/voice/speech": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Voice Speech
* @description Synthesize the persisted client reply for a completed text turn.
*
* The browser sends only session/turn identifiers. The server reloads the
* owned session and speaks the stored client-visible reply, so this endpoint
* cannot be used as an arbitrary paid text-to-speech proxy.
*/
post: operations["voice_speech_voice_speech_post"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
}
export type webhooks = Record<string, never>;
export interface components {
@ -1951,6 +1995,71 @@ export interface components {
/** Source Id */
source_id?: string | null;
};
/** ClientDiagnosticError */
ClientDiagnosticError: {
/** At */
at?: string | null;
/**
* Detail
* @default
*/
detail: string;
/**
* Kind
* @default
*/
kind: string;
};
/** ClientDiagnosticRequest */
ClientDiagnosticRequest: {
/**
* Asset
* @default
*/
asset: string;
/** Body Text Length */
body_text_length?: number | null;
/**
* Document Ready State
* @default
*/
document_ready_state: string;
/** Elapsed Ms */
elapsed_ms?: number | null;
/** Errors */
errors?: components["schemas"]["ClientDiagnosticError"][];
/**
* Href
* @default
*/
href: string;
/**
* Path
* @default
*/
path: string;
/**
* Reason
* @default unknown
*/
reason: string;
/** Root Child Count */
root_child_count?: number | null;
/** Root Text Length */
root_text_length?: number | null;
/**
* User Agent
* @default
*/
user_agent: string;
/**
* Viewport
* @default
*/
viewport: string;
/** Visible Nodes */
visible_nodes?: number | null;
};
/**
* ClientStateRead
* @description '읽기' ( ).
@ -4368,6 +4477,16 @@ export interface components {
/** Voice Id */
voice_id: string;
};
/**
* VoiceSpeechRequest
* @description Request OpenAI TTS for an already-persisted client reply.
*/
VoiceSpeechRequest: {
/** Session Id */
session_id: string;
/** Turn Seq */
turn_seq: number;
};
};
responses: never;
parameters: never;
@ -5140,6 +5259,41 @@ export interface operations {
};
};
};
record_client_diagnostic_client_diagnostics_post: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["ClientDiagnosticRequest"];
};
};
responses: {
/** @description Successful Response */
202: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
[key: string]: boolean;
};
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
eval_health_eval_health_get: {
parameters: {
query?: never;
@ -6953,4 +7107,40 @@ export interface operations {
};
};
};
voice_speech_voice_speech_post: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: {
"__Host-vignette_sid"?: string | null;
vignette_sid?: string | null;
};
};
requestBody: {
content: {
"application/json": components["schemas"]["VoiceSpeechRequest"];
};
};
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"];
};
};
};
};
}