/** * Opencode CLI backend plugin. * 通过 `opencode run` 命令驱动 agent,JSON 事件流输出。 */ import { CliAgentBackend, type BaseCliSession, type ParsedOutput } from "../agent/cli-base.js"; import type { SessionConfig, ExecHooks } from "../agent/types.js"; interface OpencodeSession extends BaseCliSession { } export declare function resolveOpencodeDatabasePath(options?: { platform?: NodeJS.Platform; env?: NodeJS.ProcessEnv; home?: string; queryPath?: () => string; }): string; export default class OpencodeBackend extends CliAgentBackend { constructor(); command(): string; buildSession(config: SessionConfig): OpencodeSession; buildInput(session: OpencodeSession, message: string): { args: string[]; stdin?: string; }; protected getExecHooks(session: OpencodeSession): ExecHooks; protected probeSessionFileMtime(session: OpencodeSession): number | null; /** 懒加载 Opencode 的 SQLite DB(只读) */ private opencodeDb; private getOpencodeDb; parseOutput(stdout: string, session: OpencodeSession): ParsedOutput; protected loadSessionTranscript(session: OpencodeSession): Promise<{ sources: { path: string; role: string; format: "opencode-db"; }[]; backend: string; agentSessionId: string; events: Iterable | AsyncIterable; }>; /** 从 opencode DB 的 message 表查最新 assistant 消息的 modelID */ private queryModelId; } export {};