IDumpInstance

Interface for dump instance implementations. Instances are scoped to (signalId, bucketName) via constructor. Methods receive only the payload and dumpId.

dumpAgentAnswer: (messages: MessageModel<MessageRole>[], dumpId: string, description: string) => Promise<void>

Persist the full message history of one agent invocation.

dumpRecord: (record: Record<string, unknown>, dumpId: string, description: string) => Promise<void>

Persist a flat key-value record.

dumpTable: (rows: Record<string, unknown>[], dumpId: string, description: string) => Promise<void>

Persist an array of objects as a table. Column headers are derived from the union of all keys across all rows.

dumpText: (content: string, dumpId: string, description: string) => Promise<void>

Persist a raw text or markdown string.

dumpError: (content: string, dumpId: string, description: string) => Promise<void>

Persist an error description.

dumpJson: (json: object, dumpId: string, description: string) => Promise<void>

Persist an arbitrary nested object as a fenced JSON block.

dispose: () => void

Releases any resources held by this instance.