UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

55 lines (54 loc) • 2.55 kB
import { i as executeSqliteQuerySync, o as getNodeSqliteKysely } from "./kysely-sync-DUWzQvCU.mjs"; import { n as normalizeAgentId } from "./agent-id-D1-Q6vR4.mjs"; import "./session-key-DY3MOX4N.mjs"; import { r as captureOpenClawStateWorkerContext } from "./openclaw-state-worker-context-BvvgY6-t.mjs"; //#region src/state/agent-provenance.ts async function recordAgentProvenance(agentId, provenance, options = {}) { const context = captureOpenClawStateWorkerContext({ ...options, path: options.database?.path ?? options.path }); const input = { agentId: normalizeAgentId(agentId), createdVia: provenance.createdVia, creatorAgentId: provenance.creatorAgentId ? normalizeAgentId(provenance.creatorAgentId) : null, createdAtMs: options.nowMs ?? Date.now() }; const { executeOpenClawStateWorker } = await import("./openclaw-state-worker-store-x5r3Lkjl.mjs"); await executeOpenClawStateWorker(context, { type: "agentProvenance.record", input }); } const DISPLAY_PROVENANCE_BATCH_SIZE = 256; /** Read provenance for the selected presentation roster in bounded worker batches. */ async function readAgentProvenanceForDisplay(agentIds, options = {}) { if (agentIds.length === 0) return []; const context = captureOpenClawStateWorkerContext(options); const requestedIds = agentIds.map(normalizeAgentId); const { executeOpenClawStateWorker } = await import("./openclaw-state-worker-store-x5r3Lkjl.mjs"); const records = []; for (let offset = 0; offset < requestedIds.length; offset += DISPLAY_PROVENANCE_BATCH_SIZE) { const batch = await executeOpenClawStateWorker(context, { type: "agentProvenance.readBatch", input: { agentIds: requestedIds.slice(offset, offset + DISPLAY_PROVENANCE_BATCH_SIZE) } }); records.push(...batch); } return records; } async function listAgentProvenance(options = {}) { const context = captureOpenClawStateWorkerContext(options); const { executeOpenClawStateWorker } = await import("./openclaw-state-worker-store-x5r3Lkjl.mjs"); return executeOpenClawStateWorker(context, { type: "agentProvenance.list", input: void 0 }); } /** Delete one row inside the caller's authoritative state transaction. */ function deleteAgentProvenanceForAgent(database, agentId) { const db = getNodeSqliteKysely(database); executeSqliteQuerySync(database, db.deleteFrom("agent_provenance").where("agent_id", "=", normalizeAgentId(agentId))); } //#endregion export { recordAgentProvenance as i, listAgentProvenance as n, readAgentProvenanceForDisplay as r, deleteAgentProvenanceForAgent as t };