/** * OpenCode SDK Exporter * * Exports ContractSpec AgentSpec definitions to formats compatible with * @opencode-ai/sdk (JSON config and markdown agent files). */ import { type AgentSpec } from '@contractspec/lib.contracts-spec/agent'; import type { Exporter, OpenCodeAgentJSON, OpenCodeExportOptions, OpenCodeExportResult } from './types'; /** * OpenCode SDK Exporter. */ export declare class OpenCodeExporter implements Exporter { readonly format: "opencode"; /** * Export an AgentSpec to OpenCode SDK format. */ export(spec: AgentSpec, options?: OpenCodeExportOptions): OpenCodeExportResult; /** * Export multiple specs. */ exportMany(specs: AgentSpec[], options?: OpenCodeExportOptions): OpenCodeExportResult[]; /** * Validate that a spec can be exported. */ validate(spec: AgentSpec): { valid: boolean; errors: string[]; }; /** * Build OpenCode agent JSON configuration. */ private buildJsonConfig; /** * Export tools to OpenCode format. */ private exportTools; /** * Generate markdown agent file content. */ private generateMarkdown; /** * Get description for agent type. */ private getAgentTypeDescription; } /** * Export an AgentSpec to OpenCode SDK format. */ export declare function exportToOpenCode(spec: AgentSpec, options?: OpenCodeExportOptions): OpenCodeExportResult; /** * Generate OpenCode agent markdown from an AgentSpec. */ export declare function generateOpenCodeMarkdown(spec: AgentSpec, options?: OpenCodeExportOptions): string; /** * Generate OpenCode agent JSON from an AgentSpec. */ export declare function generateOpenCodeJSON(spec: AgentSpec, options?: OpenCodeExportOptions): OpenCodeAgentJSON; /** * Validate an AgentSpec for OpenCode SDK export. */ export declare function validateForOpenCode(spec: AgentSpec): { valid: boolean; errors: string[]; };