/** * This file was auto-generated by openapi-typescript. * Do not make direct changes to the file. */ export interface paths { "/ask": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** Send a single prompt to Claude */ post: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["AskRequest"]; }; }; responses: { /** @description Successful response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AskResponse"]; }; }; /** @description Validation error */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Invalid or missing API key */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Request body too large */ 413: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Rate limited */ 429: { headers: { /** @description Seconds until next allowed request. */ "Retry-After"?: string; [name: string]: unknown; }; content: { "application/json": components["schemas"]["ErrorResponse"] & { retry_after_seconds?: number; }; }; }; /** @description Internal/server error */ 500: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Service is draining for graceful shutdown */ 503: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Claude CLI request timeout */ 504: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/chat": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Send chat input and receive the next assistant message with persistent conversation context * @description Start with `message` to create a conversation, then continue with `conversation_id` + `message`. */ post: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["ChatRequest"]; }; }; responses: { /** @description Successful response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ChatResponse"]; }; }; /** @description Validation error */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Invalid or missing API key */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Request body too large */ 413: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Rate limited */ 429: { headers: { "Retry-After"?: string; [name: string]: unknown; }; content: { "application/json": components["schemas"]["ErrorResponse"] & { retry_after_seconds?: number; }; }; }; /** @description Internal/server error */ 500: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Service is draining for graceful shutdown */ 503: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Claude CLI request timeout */ 504: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/chat/{conversation_id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Get conversation lifecycle metadata from in-memory store */ get: { parameters: { query?: never; header?: never; path: { conversation_id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Conversation lifecycle metadata */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ChatConversationMetadataResponse"]; }; }; /** @description Invalid or missing API key */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Conversation not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Rate limited */ 429: { headers: { "Retry-After"?: string; [name: string]: unknown; }; content: { "application/json": components["schemas"]["ErrorResponse"] & { retry_after_seconds?: number; }; }; }; }; }; put?: never; post?: never; /** Delete a conversation from in-memory store */ delete: { parameters: { query?: never; header?: never; path: { conversation_id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Deletion result */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ChatDeleteResponse"]; }; }; /** @description Invalid or missing API key */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Rate limited */ 429: { headers: { "Retry-After"?: string; [name: string]: unknown; }; content: { "application/json": components["schemas"]["ErrorResponse"] & { retry_after_seconds?: number; }; }; }; }; }; options?: never; head?: never; patch?: never; trace?: never; }; "/health": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Get health and readiness status */ get: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Health is OK or degraded (strict mode disabled) */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HealthResponse"]; }; }; /** @description Health degraded in strict mode */ 503: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HealthResponse"]; }; }; }; }; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/health/history": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Get recent Claude CLI readiness checks */ get: { parameters: { query?: { /** @description Optional ISO timestamp; only returns entries checked at or after this value. */ since?: string; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Readiness history */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HealthHistoryResponse"]; }; }; /** @description Invalid since query parameter */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/health/recheck": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** Trigger a new Claude CLI readiness check */ post: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Recheck completed; health OK or degraded (strict mode disabled) */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HealthResponse"]; }; }; /** @description Invalid or missing API key */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description API key not configured or strict health degraded */ 503: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ErrorResponse"] | components["schemas"]["HealthResponse"]; }; }; }; }; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/version": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Get runtime version/config summary */ get: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Version info */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["VersionResponse"]; }; }; }; }; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/models": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** List available Claude models discovered from local Claude CLI binary */ get: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Discovered model list */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ModelsResponse"]; }; }; /** @description Model discovery failure */ 500: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; } export type webhooks = Record; export interface components { schemas: { Message: { /** @example user */ role: string; /** @example Hello */ content: string; }; AskRequest: { prompt: string; model?: string; }; AskResponse: { /** @enum {boolean} */ success: true; response: string; }; /** @description Provide `message`; include `conversation_id` when continuing an existing conversation. */ ChatRequest: { /** @description User message for either conversation creation or continuation. */ message: string; /** @description Existing conversation ID from prior /chat response. */ conversation_id?: string; /** @description Optional system prompt. Allowed only when creating a new conversation. */ system?: string; model?: string; }; ChatConversationMeta: { id: string; /** Format: date-time */ created_at: string; /** Format: date-time */ updated_at: string; /** Format: date-time */ expires_at: string; }; ChatContextMeta: { tokens_used: number; warn_tokens: number; target_tokens: number; over_warn: boolean; over_target: boolean; compacted: boolean; compacted_messages: number; }; /** * @example { * "success": true, * "conversation_id": "75c4a9b5-6d95-4b3c-b3da-5a49a4e86240", * "message": { * "role": "assistant", * "content": "You told me your name is Erik." * }, * "conversation": { * "id": "75c4a9b5-6d95-4b3c-b3da-5a49a4e86240", * "created_at": "2026-01-01T00:00:00.000Z", * "updated_at": "2026-01-01T00:00:10.000Z", * "expires_at": "2026-01-02T00:00:10.000Z" * }, * "context": { * "tokens_used": 75, * "warn_tokens": 12000, * "target_tokens": 18000, * "over_warn": false, * "over_target": false, * "compacted": false, * "compacted_messages": 0 * } * } */ ChatResponse: { /** @enum {boolean} */ success: true; conversation_id: string; message: components["schemas"]["Message"]; conversation: components["schemas"]["ChatConversationMeta"]; context: components["schemas"]["ChatContextMeta"]; }; ChatDeleteResponse: { /** @enum {boolean} */ success: true; conversation_id: string; deleted: boolean; request_id: string; }; ChatConversationMetadataResponse: { /** @enum {boolean} */ success: true; conversation_id: string; /** @enum {string} */ status: "active"; message_count: number; tokens_used: number; /** Format: date-time */ last_activity_at: string; /** Format: date-time */ created_at: string; /** Format: date-time */ expires_at: string; request_id: string; }; ModelsResponse: { count: number; models: string[]; }; Readiness: { /** @enum {string} */ status: "ready" | "not_ready" | "unknown"; /** Format: date-time */ checked_at: string; check_duration_ms?: number; exit_code?: number | null; signal?: string | null; version?: string; error?: string; }; Observability: { /** Format: date-time */ started_at: string; uptime_seconds: number; claude_runtime: { active_requests: number; queued_requests: number; max_concurrent: number; max_queue: number; rejected_total: number; queue_timeouts_total: number; }; }; HealthResponse: { /** @enum {string} */ status: "ok" | "degraded"; strict_mode: boolean; observability: components["schemas"]["Observability"]; readiness: { claude_cli: components["schemas"]["Readiness"]; }; }; HealthHistoryResponse: { observability: components["schemas"]["Observability"]; history: components["schemas"]["Readiness"][]; }; VersionResponse: { version: string; /** @description Request timeout in seconds. */ timeout: number; cors_enabled: boolean; }; ErrorResponse: { error: string; message: string; request_id?: string; /** @description Validation details when available. */ details?: unknown; }; }; responses: never; parameters: never; requestBodies: never; headers: never; pathItems: never; } export type $defs = Record; export type operations = Record; //# sourceMappingURL=openapi.generated.d.ts.map