/** * OpenCode session adapter — implements ISessionClient by wrapping * the opencode SDK client (PluginInput["client"] or OpencodeClient). * * This adapter subsumes the old SessionClientWrapper and adds prompt/create/abort. */ import type { PluginInput } from "@opencode-ai/plugin"; import type { ISessionClient } from "../../ports/session-client.ts"; import type { SessionInfo, Message, FileDiff, Todo, SessionStatus } from "../../types.ts"; type SdkClient = PluginInput["client"]; /** * ISessionClient adapter for the opencode platform. * * Wraps the raw SDK client and provides the canonical ISessionClient * interface used by all platform-agnostic services. */ export declare class OpencodeSessionAdapter implements ISessionClient { private session; constructor(client: SdkClient); list(directory?: string): Promise; get(id: string, directory?: string): Promise; messages(id: string, options?: { directory?: string; limit?: number; }): Promise; children(id: string, directory?: string): Promise; todo(id: string, directory?: string): Promise; diff(id: string, options?: { directory?: string; messageID?: string; }): Promise; fork(id: string, options?: { directory?: string; messageID?: string; }): Promise; status(id: string, directory?: string): Promise; prompt(id: string, options: { parts: Array<{ type: string; text: string; }>; noReply?: boolean; system?: string; agent?: string; model?: { providerID: string; modelID: string; }; }): Promise<{ id: string; } | null>; promptSync(id: string, options: { parts: Array<{ type: string; text: string; }>; agent?: string; signal?: AbortSignal; }): Promise<{ parts: Array<{ type: string; text?: string; }>; } | null>; create(options: { directory: string; agent?: string; parentID?: string; }): Promise; abort(id: string): Promise; compact(id: string): Promise; } export {}; //# sourceMappingURL=session.d.ts.map