feat: 운영 안정성과 세션 음성 경험 개선

This commit is contained in:
Yun Chan 2026-07-31 00:13:08 +09:00
parent facc4ad2d9
commit c788343467
95 changed files with 8431 additions and 1785 deletions

View file

@ -1,16 +1,49 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://vignette.local/schemas/engine_gateway_contract.v1.json",
"title": "EngineGatewayGoldenContract",
"type": "object",
"additionalProperties": false,
"required": [
"version",
"generate_request",
"generate_response",
"stream_frames",
"stream_packets",
"compatibility_lines"
],
"properties": {
"version": {
"const": 1
},
"generate_request": {
"$ref": "#/$defs/GenerateRequest"
},
"generate_response": {
"$ref": "#/$defs/GenerateResponse"
},
"stream_frames": {
"type": "array",
"items": {
"type": "string"
}
},
"stream_packets": {
"type": "array",
"items": {
"$ref": "#/$defs/StreamPacket"
}
},
"compatibility_lines": {
"type": "array",
"items": {
"type": "string"
}
}
},
"$defs": {
"EngineMessage": {
"properties": {
"cache": {
"default": false,
"title": "Cache",
"type": "boolean"
},
"content": {
"title": "Content",
"type": "string"
},
"role": {
"enum": [
"system",
@ -19,6 +52,15 @@
],
"title": "Role",
"type": "string"
},
"content": {
"title": "Content",
"type": "string"
},
"cache": {
"default": false,
"title": "Cache",
"type": "boolean"
}
},
"required": [
@ -40,11 +82,6 @@
"title": "Ai Role",
"type": "string"
},
"max_tokens": {
"default": 1024,
"title": "Max Tokens",
"type": "integer"
},
"messages": {
"items": {
"$ref": "#/$defs/EngineMessage"
@ -52,9 +89,25 @@
"title": "Messages",
"type": "array"
},
"metadata": {
"title": "Metadata",
"type": "object"
"provider": {
"anyOf": [
{
"enum": [
"claude_cli",
"claude_api",
"codex_cli",
"agy_cli",
"openai",
"solar"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Provider"
},
"model": {
"anyOf": [
@ -68,9 +121,17 @@
"default": null,
"title": "Model"
},
"session_id": {
"reasoning_effort": {
"anyOf": [
{
"enum": [
"low",
"medium",
"high",
"xhigh",
"max",
"ultra"
],
"type": "string"
},
{
@ -78,7 +139,17 @@
}
],
"default": null,
"title": "Session Id"
"title": "Reasoning Effort"
},
"max_tokens": {
"default": 1024,
"title": "Max Tokens",
"type": "integer"
},
"temperature": {
"default": 0.7,
"title": "Temperature",
"type": "number"
},
"structured_schema": {
"anyOf": [
@ -92,10 +163,21 @@
"default": null,
"title": "Structured Schema"
},
"temperature": {
"default": 0.7,
"title": "Temperature",
"type": "number"
"session_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Session Id"
},
"metadata": {
"title": "Metadata",
"type": "object"
}
},
"required": [
@ -106,6 +188,28 @@
},
"GenerateResponse": {
"properties": {
"text": {
"title": "Text",
"type": "string"
},
"model": {
"title": "Model",
"type": "string"
},
"provider": {
"title": "Provider",
"type": "string"
},
"tokens_in": {
"default": 0,
"title": "Tokens In",
"type": "integer"
},
"tokens_out": {
"default": 0,
"title": "Tokens Out",
"type": "integer"
},
"cost_usd": {
"default": 0.0,
"title": "Cost Usd",
@ -123,14 +227,6 @@
"default": null,
"title": "Inference Geo"
},
"model": {
"title": "Model",
"type": "string"
},
"provider": {
"title": "Provider",
"type": "string"
},
"structured": {
"anyOf": [
{
@ -142,20 +238,6 @@
],
"default": null,
"title": "Structured"
},
"text": {
"title": "Text",
"type": "string"
},
"tokens_in": {
"default": 0,
"title": "Tokens In",
"type": "integer"
},
"tokens_out": {
"default": 0,
"title": "Tokens Out",
"type": "integer"
}
},
"required": [
@ -166,21 +248,29 @@
"title": "GenerateResponse",
"type": "object"
},
"StreamTokenEvent": {
"properties": {
"text": {
"title": "Text",
"type": "string"
}
},
"required": [
"text"
],
"title": "StreamTokenEvent",
"type": "object"
},
"StreamDoneEvent": {
"properties": {
"cost_usd": {
"default": 0.0,
"title": "Cost Usd",
"type": "number"
"provider": {
"title": "Provider",
"type": "string"
},
"model": {
"title": "Model",
"type": "string"
},
"provider": {
"title": "Provider",
"type": "string"
},
"tokens_in": {
"default": 0,
"title": "Tokens In",
@ -191,6 +281,11 @@
"title": "Tokens Out",
"type": "integer"
},
"cost_usd": {
"default": 0.0,
"title": "Cost Usd",
"type": "number"
},
"turns": {
"default": 0,
"title": "Turns",
@ -220,7 +315,12 @@
"StreamPacket": {
"oneOf": [
{
"type": "object",
"additionalProperties": false,
"required": [
"event",
"payload"
],
"properties": {
"event": {
"const": "token"
@ -228,15 +328,15 @@
"payload": {
"$ref": "#/$defs/StreamTokenEvent"
}
},
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"event",
"payload"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"event": {
"const": "done"
@ -244,15 +344,15 @@
"payload": {
"$ref": "#/$defs/StreamDoneEvent"
}
},
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"event",
"payload"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"event": {
"const": "error"
@ -260,71 +360,11 @@
"payload": {
"$ref": "#/$defs/StreamErrorEvent"
}
},
"required": [
"event",
"payload"
],
"type": "object"
}
}
]
},
"StreamTokenEvent": {
"properties": {
"text": {
"title": "Text",
"type": "string"
}
},
"required": [
"text"
],
"title": "StreamTokenEvent",
"type": "object"
}
},
"$id": "https://vignette.local/schemas/engine_gateway_contract.v1.json",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"compatibility_lines": {
"items": {
"type": "string"
},
"type": "array"
},
"generate_request": {
"$ref": "#/$defs/GenerateRequest"
},
"generate_response": {
"$ref": "#/$defs/GenerateResponse"
},
"stream_frames": {
"items": {
"type": "string"
},
"type": "array"
},
"stream_packets": {
"items": {
"$ref": "#/$defs/StreamPacket"
},
"type": "array"
},
"version": {
"const": 1
}
},
"required": [
"version",
"generate_request",
"generate_response",
"stream_frames",
"stream_packets",
"compatibility_lines"
],
"title": "EngineGatewayGoldenContract",
"type": "object",
"x-engine-gateway-sse-events": [
"token",
"done",