/** * OpenCode Agent Architecture Adapter * * Adapter for the OpenCode AI coding agent (https://github.com/sst/opencode). * OpenCode uses a file-based JSON storage format with hierarchical structure: * - storage/project/{projectID}.json * - storage/session/{projectID}/{sessionID}.json * - storage/message/{sessionID}/{messageID}.json * - storage/part/{messageID}/{partID}.json */ import { AgentProfile } from '../../../types/agent-profiles.js'; import { ConversationBlock } from '../../../types/session/blocks.js'; import { StreamEvent } from '../../../types/session/streamEvents.js'; import { SandboxPrimitive } from '../../sandbox/base.js'; import { AgentArchitectureAdapter, TranscriptChangeEvent, WorkspaceFileEvent } from '../base.js'; import { WorkspaceFile } from '../../../types/session/index.js'; export interface OpenCodeSessionOptions { model?: string; } export declare class OpenCodeAdapter implements AgentArchitectureAdapter { private readonly sandbox; private readonly sessionId; private transcriptChangeCallback?; constructor(sandbox: SandboxPrimitive, sessionId: string); getPaths(): { AGENT_STORAGE_DIR: string; WORKSPACE_DIR: string; AGENT_PROFILE_DIR: string; AGENT_MD_FILE: string; }; initializeSession(args: { sessionId: string; sessionTranscript: string | undefined; agentProfile: AgentProfile; workspaceFiles: WorkspaceFile[]; }): Promise; readSessionTranscript(): Promise; executeQuery(args: { query: string; options?: OpenCodeSessionOptions; }): AsyncGenerator; catch(error: Error): void; parseTranscript(rawTranscript: string): { blocks: ConversationBlock[]; subagents: { id: string; blocks: ConversationBlock[]; }[]; }; static createSessionId(): string; static parseTranscript(rawTranscript: string): { blocks: ConversationBlock[]; subagents: { id: string; blocks: ConversationBlock[]; }[]; }; watchWorkspaceFiles(callback: (event: WorkspaceFileEvent) => void): Promise; watchSessionTranscriptChanges(callback: (event: TranscriptChangeEvent) => void): Promise; protected emitTranscriptChange(event: TranscriptChangeEvent): void; } //# sourceMappingURL=index.d.ts.map