/** * Claude Agent SDK Provider * * Enables ContractSpec agents to leverage Claude's agentic capabilities: * - Computer use (file editing, bash execution) * - Extended thinking for complex reasoning * - Agentic search and subagents * - MCP server integration * * This adapter wraps @anthropic-ai/claude-agent-sdk to work as a backend * for ContractSpec agents. */ import { type AgentSpec } from '@contractspec/lib.contracts-spec/agent'; import type { ClaudeAgentSDKConfig, ExternalAgentContext, ExternalAgentProvider, ExternalExecuteParams, ExternalExecuteResult, ExternalStreamChunk } from '../types'; /** * Claude Agent SDK Provider implementation. */ export declare class ClaudeAgentSDKProvider implements ExternalAgentProvider { readonly name = "claude-agent-sdk"; readonly version = "1.0.0"; private config; private sdkAvailable; constructor(config?: ClaudeAgentSDKConfig); /** * Check if Claude Agent SDK is available. */ isAvailable(): boolean; /** * Create an execution context from an AgentSpec. */ createContext(spec: AgentSpec): Promise; /** * Execute a prompt using Claude Agent SDK. */ execute(context: ExternalAgentContext, params: ExternalExecuteParams): Promise; /** * Stream execution with real-time updates. */ stream(context: ExternalAgentContext, params: ExternalExecuteParams): AsyncIterable; /** * Load the Claude Agent SDK dynamically. */ private loadSDK; /** * Prepare tools for Claude Agent SDK format. */ private prepareToolsForSDK; private mcpToolToExternalTool; private normalizeExternalInputSchema; private normalizeToolSchemaForClaude; private isRecord; /** * Execute a single tool. */ private executeTool; /** * Execute multiple tools. */ private executeTools; /** * Extract text content from response. */ private extractTextContent; /** * Map Claude Agent SDK stop reason to ContractSpec finish reason. */ private mapStopReason; }