/** * ACP Agent Manifest — describes agent capabilities. * Fetched from GET /agent/card per the ACP spec. */ export interface ACPManifest { name: string; description?: string; version?: string; capabilities: ACPCapability[]; } export interface ACPCapability { name: string; description?: string; inputSchema?: Record; outputSchema?: Record; } /** ACP Task creation request (POST /tasks) */ export interface ACPCreateTaskRequest { input: { prompt: string; history?: Array<{ role: string; content: string; }>; }; mode: 'sync' | 'stream'; /** * Stable session identifier — passed through so the remote agent can * thread context across multi-turn conversations. Not part of the * upstream ACP spec yet; the remote may ignore it (the field is in * the request body, not headers, so unknown-field-tolerant parsers * pass it through fine). */ session_id?: string; } /** ACP Task response */ export interface ACPTaskResponse { id: string; status: 'pending' | 'running' | 'completed' | 'failed'; output?: { content: string; }; error?: { code: string; message: string; }; } /** * Configuration for a remote ACP agent. * Stored in ~/.agim/config.json under the "acpAgents" key. */ export interface ACPAgentConfig { name: string; aliases?: string[]; endpoint: string; auth?: { type: 'none' | 'apikey' | 'bearer'; token?: string; }; enabled?: boolean; } //# sourceMappingURL=types.d.ts.map