@mrtkrcm/acp-claude-code
Version:
ACP (Agent Client Protocol) bridge for Claude Code
56 lines • 2.6 kB
TypeScript
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