diff --git a/packages/server/src/server/agent/mcp-sdk-types.ts b/packages/server/src/server/agent/mcp-sdk-types.ts deleted file mode 100644 index 9162d92d2..000000000 --- a/packages/server/src/server/agent/mcp-sdk-types.ts +++ /dev/null @@ -1,33 +0,0 @@ -import type { RequestHandlerExtra } from "@modelcontextprotocol/sdk/shared/protocol.js"; -import type { - CallToolResult, - ServerNotification, - ServerRequest, -} from "@modelcontextprotocol/sdk/types.js"; - -export interface ToolConfig { - title?: string; - description?: string; - inputSchema?: unknown; - outputSchema?: unknown; - annotations?: unknown; - [key: string]: unknown; -} - -// oxlint-disable-next-line typescript-eslint/no-explicit-any -- mirrors MCP's schema-inferred handler args without importing its zod-heavy generics. -type ToolArgs = any; - -export type ToolHandler = ( - args: ToolArgs, - extra: RequestHandlerExtra, -) => CallToolResult | Promise; - -export interface RegisteredTool { - remove?: () => void; -} - -export declare class McpServer { - constructor(config: { name: string; version: string }); - registerTool(name: string, config: ToolConfig, handler: ToolHandler): RegisteredTool; - connect(transport: unknown): Promise; -} diff --git a/packages/server/src/server/agent/providers/claude/claude-agent-sdk-types.ts b/packages/server/src/server/agent/providers/claude/claude-agent-sdk-types.ts deleted file mode 100644 index 6d1a25b79..000000000 --- a/packages/server/src/server/agent/providers/claude/claude-agent-sdk-types.ts +++ /dev/null @@ -1,235 +0,0 @@ -import type { ChildProcess } from "node:child_process"; - -export type PermissionMode = "default" | "acceptEdits" | "plan" | "bypassPermissions" | "auto"; - -export interface PermissionUpdate extends Record { - type: "addRules" | "replaceRules" | "removeRules"; - rules: string[]; - behavior: string; - destination: string; -} - -export type PermissionResult = - | { - behavior: "allow"; - updatedInput?: Record; - updatedPermissions?: PermissionUpdate[]; - } - | { - behavior: "deny"; - message?: string; - interrupt?: boolean; - updatedPermissions?: PermissionUpdate[]; - }; - -export type CanUseTool = ( - toolName: string, - input: Record, - options: { - signal: AbortSignal; - suggestions?: PermissionUpdate[]; - blockedPath?: string; - decisionReason?: string; - title?: string; - displayName?: string; - description?: string; - toolUseID: string; - agentID?: string; - }, -) => Promise; - -export interface AgentDefinition { - description: string; - prompt: string; - tools?: string[]; - disallowedTools?: string[]; - model?: string; - mcpServers?: unknown[]; - criticalSystemReminder_EXPERIMENTAL?: string; - skills?: string[]; - initialPrompt?: string; - maxTurns?: number; - background?: boolean; - memory?: "user" | "project" | "local"; - effort?: "low" | "medium" | "high" | "xhigh" | "max" | number; - permissionMode?: PermissionMode; -} - -export type McpServerConfig = - | { - type: "stdio"; - command: string; - args?: string[]; - env?: Record; - alwaysLoad?: boolean; - } - | { type: "http"; url: string; headers?: Record; alwaysLoad?: boolean } - | { type: "sse"; url: string; headers?: Record; alwaysLoad?: boolean }; - -export interface SpawnOptions { - command: string; - args: string[]; - cwd?: string; - env?: NodeJS.ProcessEnv; - signal?: AbortSignal; -} - -export interface Options { - abortController?: AbortController; - additionalDirectories?: string[]; - agent?: string; - agents?: Record; - allowedTools?: string[]; - allowDangerouslySkipPermissions?: boolean; - canUseTool?: CanUseTool; - continue?: boolean; - cwd?: string; - disallowedTools?: string[]; - enableFileCheckpointing?: boolean; - env?: NodeJS.ProcessEnv; - effort?: "low" | "medium" | "high" | "xhigh" | "max" | number; - includePartialMessages?: boolean; - maxThinkingTokens?: number; - mcpServers?: Record; - model?: string; - pathToClaudeCodeExecutable?: string; - permissionMode?: PermissionMode; - persistSession?: boolean; - resume?: string; - sessionId?: string; - settingSources?: Array<"user" | "project" | "local" | "managed">; - settings?: string | Record; - spawnClaudeCodeProcess?: (spawnOptions: SpawnOptions) => ChildProcess; - stderr?: (data: string) => void; - systemPrompt?: - | string - | { type: "preset"; preset: string; append?: string } - | Record; - thinking?: { type: "adaptive" } | { type: "enabled"; budgetTokens?: number }; - tools?: string[] | { type: "preset"; preset: string }; -} - -export interface SDKBaseMessage { - type: string; - subtype?: string; - uuid?: string; - session_id?: string; - parent_tool_use_id?: string | null; - [key: string]: unknown; -} - -export interface SDKUserMessage extends SDKBaseMessage { - type: "user"; - message: { role?: "user"; content: string | ReadonlyArray }; -} - -export interface SDKAssistantMessage extends SDKBaseMessage { - type: "assistant"; - message: { content: ReadonlyArray }; -} - -export interface SDKPartialAssistantMessage extends SDKBaseMessage { - type: "stream_event"; - event: - | { - type: "content_block_start"; - index: number; - content_block?: unknown; - [key: string]: unknown; - } - | { - type: "content_block_delta"; - index: number; - delta?: unknown; - [key: string]: unknown; - } - | { type: "content_block_stop"; index: number; [key: string]: unknown } - | { type: "message_start"; [key: string]: unknown } - | { type: "message_delta"; [key: string]: unknown }; - modelUsage?: unknown; -} - -export interface SDKInitSystemMessage extends SDKBaseMessage { - type: "system"; - subtype: "init"; - permissionMode: PermissionMode; - model?: string; -} - -export interface SDKStatusSystemMessage extends SDKBaseMessage { - type: "system"; - subtype: "status"; -} - -export interface SDKCompactBoundaryMessage extends SDKBaseMessage { - type: "system"; - subtype: "compact_boundary"; -} - -export interface SDKTaskNotificationMessage extends SDKBaseMessage { - type: "system"; - subtype: "task_notification"; - tool_use_id?: string; - usage?: unknown; -} - -export interface SDKTaskProgressMessage extends SDKBaseMessage { - type: "system"; - subtype: "task_progress"; - usage?: unknown; -} - -export type SDKSystemMessage = - | SDKInitSystemMessage - | SDKStatusSystemMessage - | SDKCompactBoundaryMessage - | SDKTaskNotificationMessage - | SDKTaskProgressMessage; - -export interface SDKResultMessage extends SDKBaseMessage { - type: "result"; - subtype: "success" | "error_during_execution" | string; - result?: string; - errors?: string[]; - modelUsage?: unknown; - total_cost_usd?: number; - usage?: { - input_tokens?: number; - cache_read_input_tokens?: number; - output_tokens?: number; - }; -} - -export type SDKMessage = - | SDKUserMessage - | SDKAssistantMessage - | SDKPartialAssistantMessage - | SDKSystemMessage - | SDKTaskProgressMessage - | SDKResultMessage - | (SDKBaseMessage & { type: "tool_progress"; tool_name?: string; tool_use_id?: string }); - -export interface Query extends AsyncGenerator { - interrupt(): Promise; - setPermissionMode(mode: PermissionMode): Promise; - setModel(model?: string): Promise; - applyFlagSettings(settings: Record): Promise; - supportedCommands(): Promise>; - rewindFiles( - messageId: string, - options: { dryRun: boolean }, - ): Promise<{ canRewind: boolean; error?: string }>; - close(): void; -} - -export declare function query(params: { - prompt: string | AsyncIterable; - options?: Options; -}): Query; - -export declare function forkSession( - sessionId: string, - options: { upToMessageId: string }, -): Promise<{ sessionId: string }>; - -export declare function getSessionInfo(...args: unknown[]): Promise; diff --git a/packages/server/tsconfig.server.json b/packages/server/tsconfig.server.json index 697e99589..aee1b6367 100644 --- a/packages/server/tsconfig.server.json +++ b/packages/server/tsconfig.server.json @@ -5,10 +5,6 @@ "moduleResolution": "NodeNext", "lib": ["ES2023", "DOM"], "paths": { - "@anthropic-ai/claude-agent-sdk": [ - "./src/server/agent/providers/claude/claude-agent-sdk-types.ts" - ], - "@modelcontextprotocol/sdk/server/mcp.js": ["./src/server/agent/mcp-sdk-types.ts"], "@server/*": ["./src/*"] }, "skipLibCheck": true,