UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

123 lines (122 loc) • 6 kB
import { a as asOptionalRecord } from "./record-coerce-TIsquoVR.mjs"; import { r as isIncognitoSessionKey } from "./session-key-CmZ4o9-l.mjs"; import { r as getCliSessionBinding } from "./cli-session-binding-Dx1VbkI8.mjs"; import { n as readLegacyCompactionMetrics } from "./legacy-compaction-history-DS8GebGO.mjs"; import { _ as captureTranscriptRedactionSnapshot } from "./session-accessor.sqlite-transcript-store-D63Niwm2.mjs"; import { t as resolveCurrentUserProfileDisplay } from "./current-user-profile-display-DwUynhPw.mjs"; import { d as projectForwardedMessages, u as prepareForwardedMessageCronJobNameResolver } from "./chat-display-projection.history-DcguyM30.mjs"; import { a as readSessionMessageByIdAsync, g as session_transcript_readers_exports, t as captureIncognitoSessionHistoryReader } from "./session-transcript-readers-Bka5K3vB.mjs"; import { t as encodeChatHistoryResponsePage } from "./chat-history-response-page-Dku5t8Hs.mjs"; import { n as projectChatHistoryWithReplies } from "./chat-history-reply-messages-DIvwfidN.mjs"; import { t as readChatHistoryPageKernel } from "./chat-history-page-kernel-B4POshUm.mjs"; import os from "node:os"; //#region src/gateway/server-methods/chat-history-pages.ts function prepareChatHistoryParams(input) { return getCliSessionBinding(input.entry, "claude-cli")?.sessionId ? { ...input, cliHistoryHomeDir: process.env.HOME || os.homedir(), cliHistoryRedaction: captureTranscriptRedactionSnapshot() } : input; } function chatHistoryScope(params) { return { agentId: params.sessionAgentId, sessionId: params.sessionId ?? "", sessionKey: params.canonicalKey, storePath: params.storePath, sessionEntry: params.entry }; } async function readChatHistoryMessageById(input, suppliedIncognito) { const incognito = suppliedIncognito ?? captureIncognitoSessionHistoryReader(chatHistoryScope(input)); if (incognito) { const captured = structuredClone(input); return incognito.consume(chatHistoryScope(captured), async (readers) => { if (getCliSessionBinding(captured.entry, "claude-cli")?.sessionId) { const { readProcessHeldCliHistoryMessage } = await import("./cli-session-history.process-held-ByiZkY_w.mjs"); return readProcessHeldCliHistoryMessage(prepareChatHistoryParams(captured), incognito); } return readers.readSessionMessageByIdAsync(chatHistoryScope(captured), captured.messageId, { allowResetArchiveFallback: true, historyVisibility: { sessionStartedAt: captured.entry?.sessionStartedAt } }); }); } if (!getCliSessionBinding(input.entry, "claude-cli")?.sessionId || !input.storePath) return readSessionMessageByIdAsync(chatHistoryScope(input), input.messageId, { allowResetArchiveFallback: true, historyVisibility: { sessionStartedAt: input.entry?.sessionStartedAt } }); const params = prepareChatHistoryParams(input); if (params.entry?.incognito || isIncognitoSessionKey(params.canonicalKey)) { const { readProcessHeldCliHistoryMessage } = await import("./cli-session-history.process-held-ByiZkY_w.mjs"); return readProcessHeldCliHistoryMessage(params); } const { readSessionHistoryPageInWorker } = await import("./session-history-worker-runtime-BomeKrsu.mjs"); return readSessionHistoryPageInWorker({ kind: "rpc-message", params: { ...params, storePath: input.storePath } }); } async function readChatHistoryPage(input, signal, suppliedIncognito) { signal?.throwIfAborted(); const incognito = suppliedIncognito ?? (input.sessionId && input.storePath ? captureIncognitoSessionHistoryReader(chatHistoryScope(input), signal) : void 0); const binding = getCliSessionBinding(input.entry, "claude-cli"); const params = prepareChatHistoryParams(incognito ? structuredClone(input) : input); if (incognito) { const useCliHistory = Boolean(binding?.sessionId && !params.ignoreCliSessionImports); return incognito.consume(chatHistoryScope(params), async () => { let page; if (useCliHistory) { const { readProcessHeldCliHistory } = await import("./cli-session-history.process-held-ByiZkY_w.mjs"); page = await readProcessHeldCliHistory(params, signal, incognito); } else page = await incognito.rpc({ ...params, encodeResponse: false }); const messages = await refreshForwardedLabels(page.messages); signal?.throwIfAborted(); const refreshed = { ...page, messages }; return useCliHistory ? refreshed : encodeChatHistoryResponsePage(refreshed, params); }); } if (params.sessionId && params.storePath && (params.entry?.incognito || isIncognitoSessionKey(params.canonicalKey)) && binding?.sessionId && !params.ignoreCliSessionImports) { const { readProcessHeldCliHistory } = await import("./cli-session-history.process-held-ByiZkY_w.mjs"); const page = await readProcessHeldCliHistory(params, signal); return { ...page, messages: await refreshForwardedLabels(page.messages) }; } if (!params.sessionId || !params.storePath || params.entry?.incognito || isIncognitoSessionKey(params.canonicalKey)) { const page = await readChatHistoryPageKernel(params, { readers: session_transcript_readers_exports, resolveCurrentUserProfileDisplay, resolveCronJobName: () => void 0 }); return { ...page, messages: await refreshForwardedLabels(page.messages) }; } const { readSessionHistoryPageInWorker } = await import("./session-history-worker-runtime-BomeKrsu.mjs"); return readSessionHistoryPageInWorker({ kind: "rpc", params: { ...params, compactionMetrics: readLegacyCompactionMetrics(params.entry), sessionId: params.sessionId, storePath: params.storePath } }, signal); } async function refreshForwardedLabels(messages) { return projectChatHistoryWithReplies(messages.filter((message) => asOptionalRecord(message) !== void 0), async (displayMessages) => projectForwardedMessages(displayMessages, await prepareForwardedMessageCronJobNameResolver(displayMessages))); } //#endregion export { readChatHistoryPage as n, readChatHistoryMessageById as t };