/** * Portable agent export and import. * * Creates a ZIP archive containing the full agent identity, memories, * entities, relations, and optionally embeddings. Supports round-trip * import with conflict resolution. */ export interface ExportOptions { readonly includeEmbeddings?: boolean; readonly includeSkills?: boolean; } export interface ExportManifest { readonly version: string; readonly exportedAt: string; readonly stats: { readonly memories: number; readonly entities: number; readonly relations: number; readonly skills: number; }; } export interface ExportData { readonly manifest: ExportManifest; readonly agentYaml: string | null; readonly identityFiles: ReadonlyArray<{ name: string; content: string; }>; readonly memories: ReadonlyArray>; readonly entities: ReadonlyArray>; readonly relations: ReadonlyArray>; readonly skills: ReadonlyArray<{ name: string; files: ReadonlyArray<{ path: string; content: string; }>; }>; } export type ImportConflictStrategy = "skip" | "overwrite" | "merge"; export interface ImportOptions { readonly conflictStrategy?: ImportConflictStrategy; } export interface ExportImportResult { readonly memoriesImported: number; readonly memoriesSkipped: number; readonly entitiesImported: number; readonly relationsImported: number; readonly identityFilesWritten: number; } interface ExportDb { prepare(sql: string): { all(...args: unknown[]): Record[]; get(...args: unknown[]): Record | undefined; }; } interface ImportDb { prepare(sql: string): { run(...args: unknown[]): void; get(...args: unknown[]): Record | undefined; }; exec(sql: string): void; } export declare function collectExportData(agentsDir: string, db: ExportDb, options?: ExportOptions): ExportData; /** * Serialize export data to JSONL format for memories, entities, relations. * Returns a map of filename -> content for the export archive. */ export declare function serializeExportData(data: ExportData): ReadonlyMap; export declare function importMemories(db: ImportDb, memoriesJsonl: string, options?: ImportOptions): { imported: number; skipped: number; errors: number; }; export declare function importEntities(db: ImportDb, entitiesJsonl: string): { imported: number; errors: number; }; export declare function importRelations(db: ImportDb, relationsJsonl: string): { imported: number; errors: number; }; export {}; //# sourceMappingURL=export.d.ts.map