UNPKG

@mrtkrcm/acp-claude-code

Version:

ACP (Agent Client Protocol) bridge for Claude Code

56 lines 2.6 kB
import type { WritableStream, ReadableStream } from 'node:stream/web'; import * as schema from './schema.js'; type Result<T> = { result: T; } | { error: ErrorResponse; }; type ErrorResponse = { code: number; message: string; data?: unknown; }; export declare class RequestError extends Error { code: number; data?: { details?: string; }; constructor(code: number, message: string, details?: string); static parseError(details?: string): RequestError; static invalidRequest(details?: string): RequestError; static methodNotFound(method?: string): RequestError; static invalidParams(details?: string): RequestError; static internalError(details?: string): RequestError; static authRequired(details?: string): RequestError; static sessionNotFound(sessionId?: string): RequestError; static sessionBusy(sessionId?: string): RequestError; static resourceExhausted(details?: string): RequestError; toResult<T>(): Result<T>; } export declare class AgentSideConnection implements Client { #private; constructor(toAgent: (conn: Client) => Agent, input: WritableStream<Uint8Array>, output: ReadableStream<Uint8Array>, options?: { fileSystemEnabled?: boolean; }); destroy(): void; sessionUpdate(params: schema.SessionNotification): Promise<void>; requestPermission(params: schema.RequestPermissionRequest): Promise<schema.RequestPermissionResponse>; readTextFile(params: schema.ReadTextFileRequest): Promise<schema.ReadTextFileResponse>; writeTextFile(params: schema.WriteTextFileRequest): Promise<schema.WriteTextFileResponse>; } export interface Client { requestPermission(params: schema.RequestPermissionRequest): Promise<schema.RequestPermissionResponse>; sessionUpdate(params: schema.SessionNotification): Promise<void>; writeTextFile(params: schema.WriteTextFileRequest): Promise<schema.WriteTextFileResponse>; readTextFile(params: schema.ReadTextFileRequest): Promise<schema.ReadTextFileResponse>; } export interface Agent { initialize(params: schema.InitializeRequest): Promise<schema.InitializeResponse>; newSession(params: schema.NewSessionRequest): Promise<schema.NewSessionResponse>; loadSession?(params: schema.LoadSessionRequest): Promise<schema.LoadSessionResponse>; authenticate(params: schema.AuthenticateRequest): Promise<schema.AuthenticateResponse>; prompt(params: schema.PromptRequest): Promise<schema.PromptResponse>; cancel(params: schema.CancelNotification): Promise<void>; } export {}; //# sourceMappingURL=protocol.d.ts.map