UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

83 lines (82 loc) • 4.23 kB
import { n as normalizeAgentId, t as isValidAgentId } from "./agent-id-D1-Q6vR4.mjs"; import "./config-env-vars-oFV7TqIg.mjs"; import "./session-key-BC4m_Ly5.mjs"; import "./openclaw-agent-db.paths-DiWMV5LG.mjs"; import "./artifacts-D5koLTEP.mjs"; import "./paths-CAzSovN1.mjs"; import "./agent-scope-DWB4x52T.mjs"; import "./config-B-SAEPyK.mjs"; import "./internal-runtime-context-CLIwiurx.mjs"; import "./transcript-events-Ce9wKss8.mjs"; import "./tokens-BTKQYTUd.mjs"; import "./main-session-C5LOaIBF.mjs"; import "./heartbeat-D29f7BeR.mjs"; import "./session-cold-storage-state-DymPEuGu.mjs"; import { E as readTranscriptStatsSync } from "./session-accessor.sqlite-read-CAR7IGtb.mjs"; import "./session-cold-storage-read-Cw1N3PMy.mjs"; import "./strip-inbound-meta-CRySRUKv.mjs"; import "./session-accessor-BM3Wa1Bx.mjs"; import "./input-provenance-v8gTqxPd.mjs"; import "./heartbeat-filter-CTLYPnOA.mjs"; import "./session-store-runtime-B4-uDJLY.mjs"; import "./heartbeat-events-filter-CINOd_ZO.mjs"; import path from "node:path"; //#region packages/memory-host-sdk/src/host/openclaw-runtime-session.ts /** Keep worker launch machinery behind the memory host's existing lazy runtime bridge. */ async function prepareSessionEntryInWorker(...args) { const { prepareSessionEntryInWorker: prepare } = await import("./session-transcript-read-worker-runtime-DHdHaQqV.mjs"); return prepare(...args); } /** Returns an opaque revision that changes for every canonical transcript mutation. */ function readTranscriptContentRevisionSync(params) { const stats = readTranscriptStatsSync(params); return [ "sqlite", stats.maxSeq, stats.sizeBytes, stats.eventCount, stats.lastMutationAtMs ?? "", stats.lastObservedMutationAtMs ?? "" ].join(":"); } /** Extracts the agent id from a canonical `agents/<id>/sessions` directory path. */ function extractAgentIdFromSessionsDir(sessionsDir) { const parts = path.normalize(path.resolve(sessionsDir)).split(path.sep).filter(Boolean); const sessionsSegment = parts.at(-1); const agentId = parts.at(-2); const agentsSegment = parts.at(-3); const isWindows = process.platform === "win32"; if (!sessionsSegment || !agentId || !agentsSegment || (isWindows ? sessionsSegment.toLowerCase() : sessionsSegment) !== "sessions" || (isWindows ? agentsSegment.toLowerCase() : agentsSegment) !== "agents" || isWindows && (agentId !== agentId.trim() || !isValidAgentId(agentId))) return null; return isWindows ? normalizeAgentId(agentId) : agentId; } /** Finds the nearest canonical sessions owner without escaping its directory. */ function extractAgentIdFromSessionPath(absPath) { let currentDir = path.dirname(path.resolve(absPath)); while (true) { const currentSegment = path.basename(currentDir); if ((process.platform === "win32" ? currentSegment.toLowerCase() : currentSegment) === "sessions") { const agentId = extractAgentIdFromSessionsDir(currentDir); if (agentId) return agentId; } const parentDir = path.dirname(currentDir); if (parentDir === currentDir) return null; currentDir = parentDir; } } /** Session-key prefix marking transcripts generated by memory dreaming runs. */ const DREAMING_NARRATIVE_RUN_PREFIX = "dreaming-narrative-"; /** True when a session-store key belongs to a dreaming narrative run. */ function isDreamingNarrativeSessionStoreKey(sessionKey) { const trimmed = sessionKey.trim(); if (!trimmed) return false; const firstSeparator = trimmed.indexOf(":"); if (firstSeparator < 0) return trimmed.startsWith(DREAMING_NARRATIVE_RUN_PREFIX); const secondSeparator = trimmed.indexOf(":", firstSeparator + 1); return (secondSeparator < 0 ? trimmed : trimmed.slice(secondSeparator + 1)).startsWith(DREAMING_NARRATIVE_RUN_PREFIX); } async function readSessionResetRecallCutoffInWorker(...args) { const { readSessionResetRecallCutoffInWorker: read } = await import("./session-transcript-read-worker-runtime-DHdHaQqV.mjs"); return read(...args); } //#endregion export { prepareSessionEntryInWorker as a, isDreamingNarrativeSessionStoreKey as i, extractAgentIdFromSessionPath as n, readSessionResetRecallCutoffInWorker as o, extractAgentIdFromSessionsDir as r, readTranscriptContentRevisionSync as s, DREAMING_NARRATIVE_RUN_PREFIX as t };