mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-21 18:08:05 -06:00
3d76246792
* refactor: resolve final export name collisions * refactor: update remaining collision rename consumers * style: format rebased auth helpers * test: update remaining session entry mocks * test: update remaining runtime mock exports * test: update delivery info path mock * refactor: reconcile combined collision sweeps * chore: regenerate collision and sdk baselines
55 lines
1.8 KiB
TypeScript
55 lines
1.8 KiB
TypeScript
// Bridges ACP transcript events into persisted OpenClaw session transcripts.
|
|
import { resolveAcpSessionCwd } from "@openclaw/acp-core/runtime/session-identifiers";
|
|
import { resolveSessionAgentId } from "../../agents/agent-scope.js";
|
|
import { persistAcpTurnTranscript } from "../../agents/command/attempt-execution.js";
|
|
import { resolveSessionStorePathCore } from "../../config/sessions.js";
|
|
import { loadSessionEntryReadOnly } from "../../config/sessions/session-accessor.js";
|
|
import type { SessionAcpMeta } from "../../config/sessions/types.js";
|
|
import type { OpenClawConfig } from "../../config/types.openclaw.js";
|
|
|
|
export async function persistAcpDispatchTranscript(params: {
|
|
cfg: OpenClawConfig;
|
|
sessionKey: string;
|
|
promptText: string;
|
|
finalText: string;
|
|
meta?: SessionAcpMeta;
|
|
threadId?: string | number;
|
|
}): Promise<void> {
|
|
const promptText = params.promptText.trim();
|
|
const finalText = params.finalText.trim();
|
|
if (!promptText && !finalText) {
|
|
return;
|
|
}
|
|
|
|
const sessionAgentId = resolveSessionAgentId({
|
|
sessionKey: params.sessionKey,
|
|
config: params.cfg,
|
|
});
|
|
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}`);
|
|
}
|
|
|
|
await persistAcpTurnTranscript({
|
|
body: promptText,
|
|
transcriptBody: promptText,
|
|
finalText,
|
|
sessionId,
|
|
sessionKey: params.sessionKey,
|
|
sessionEntry,
|
|
storePath,
|
|
sessionAgentId,
|
|
threadId: params.threadId,
|
|
sessionCwd: resolveAcpSessionCwd(params.meta) ?? process.cwd(),
|
|
config: params.cfg,
|
|
});
|
|
}
|