Spaces:
Sleeping
Sleeping
| // ==================== Anthropic API Types ==================== | |
| export interface AnthropicRequest { | |
| model: string; | |
| messages: AnthropicMessage[]; | |
| max_tokens: number; | |
| stream?: boolean; | |
| system?: string | AnthropicContentBlock[]; | |
| tools?: AnthropicTool[]; | |
| temperature?: number; | |
| top_p?: number; | |
| stop_sequences?: string[]; | |
| } | |
| export interface AnthropicMessage { | |
| role: 'user' | 'assistant'; | |
| content: string | AnthropicContentBlock[]; | |
| } | |
| export interface AnthropicContentBlock { | |
| type: 'text' | 'tool_use' | 'tool_result' | 'image'; | |
| text?: string; | |
| // image fields | |
| source?: { type: string; media_type?: string; data: string }; | |
| // tool_use fields | |
| id?: string; | |
| name?: string; | |
| input?: Record<string, unknown>; | |
| // tool_result fields | |
| tool_use_id?: string; | |
| content?: string | AnthropicContentBlock[]; | |
| is_error?: boolean; | |
| } | |
| export interface AnthropicTool { | |
| name: string; | |
| description?: string; | |
| input_schema: Record<string, unknown>; | |
| } | |
| export interface AnthropicResponse { | |
| id: string; | |
| type: 'message'; | |
| role: 'assistant'; | |
| content: AnthropicContentBlock[]; | |
| model: string; | |
| stop_reason: string; | |
| stop_sequence: string | null; | |
| usage: { input_tokens: number; output_tokens: number }; | |
| } | |
| // ==================== Cursor API Types ==================== | |
| export interface CursorChatRequest { | |
| context?: CursorContext[]; | |
| model: string; | |
| id: string; | |
| messages: CursorMessage[]; | |
| trigger: string; | |
| } | |
| export interface CursorContext { | |
| type: string; | |
| content: string; | |
| filePath: string; | |
| } | |
| export interface CursorMessage { | |
| parts: CursorPart[]; | |
| id: string; | |
| role: string; | |
| } | |
| export interface CursorPart { | |
| type: string; | |
| text: string; | |
| } | |
| export interface CursorSSEEvent { | |
| type: string; | |
| delta?: string; | |
| } | |
| // ==================== Internal Types ==================== | |
| export interface ParsedToolCall { | |
| name: string; | |
| arguments: Record<string, unknown>; | |
| } | |
| export interface AppConfig { | |
| port: number; | |
| timeout: number; | |
| proxy?: string; | |
| cursorModel: string; | |
| vision?: { | |
| enabled: boolean; | |
| mode: 'ocr' | 'api'; | |
| baseUrl: string; | |
| apiKey: string; | |
| model: string; | |
| }; | |
| fingerprint: { | |
| userAgent: string; | |
| }; | |
| } | |