UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

53 lines (52 loc) 2.33 kB
import { o as resolveSessionStorePathCore } from "./paths-CXdaYWF_.js"; import "./session-accessor-YsytfDtG.js"; import { u as loadSessionEntryReadOnly } from "./session-accessor.sqlite-entry-CWk3jL7s.js"; import { n as resolveAcpSessionCwd } from "./session-identifiers-B5CDFQVW.js"; import "./sessions-9nxpeTwt.js"; import { l as persistAcpTurnTranscript } from "./attempt-execution-BqfSB6gK.js"; //#region src/auto-reply/reply/dispatch-acp-transcript.runtime.ts async function persistAcpDispatchTranscript(params) { const promptText = params.promptText.trim(); const finalText = params.finalText.trim(); if (!promptText && !finalText) return; const sessionAgentId = params.agentId; const storePath = resolveSessionStorePathCore(params.cfg.session?.store, { agentId: sessionAgentId }); const sessionEntry = loadSessionEntryReadOnly({ agentId: sessionAgentId, sessionKey: params.sessionKey, storePath }); const sessionId = sessionEntry?.sessionId; if (!sessionId) throw new Error(`unknown ACP session key: ${params.sessionKey}`); if (params.expectedSessionId && sessionId !== params.expectedSessionId) throw new Error("ACP transcript session changed before the turn could be persisted."); const result = await persistAcpTurnTranscript({ body: promptText, transcriptBody: promptText, finalText, terminalOutcome: params.terminalOutcome, sessionId, expectedSessionId: params.expectedSessionId, sessionKey: params.sessionKey, sessionEntry, storePath, sessionAgentId, threadId: params.threadId, sessionCwd: resolveAcpSessionCwd(params.meta) ?? process.cwd(), config: params.cfg, userTurnTranscriptRecorder: params.userTurnTranscriptRecorder, prepareAssistantTranscriptMessage: params.prepareAssistantTranscriptMessage, assistantIdempotencyKey: params.assistantIdempotencyKey }); if (result.kind === "session-rebound") throw new Error("ACP transcript session changed before the turn could be persisted."); return result.assistantTranscript && params.assistantIdempotencyKey ? { agentId: sessionAgentId, sessionId, sessionKey: params.sessionKey, storePath, messageId: result.assistantTranscript.messageId, anchor: result.assistantTranscript.anchor, idempotencyKey: params.assistantIdempotencyKey } : void 0; } //#endregion export { persistAcpDispatchTranscript };