UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

44 lines (43 loc) 1.47 kB
//#region src/config/sessions/session-entry-projection.ts const SESSION_ENTRY_PRIVATE_CLEAR_PATCH = { activeWriterRunId: void 0, lastRunId: void 0, lifecycleRunId: void 0, mainRestartRecovery: void 0, pendingProjectGitUrl: void 0, pendingWorktree: void 0, sessionDiffBaselineCapture: void 0, transcriptByteCompactionLatch: void 0 }; const PRIVATE_SESSION_ENTRY_KEYS = [ "activeWriterRunId", "lastRunId", "lifecycleRunId", "mainRestartRecovery", "pendingProjectGitUrl", "pendingWorktree", "sessionDiffBaselineCapture", "transcriptByteCompactionLatch" ]; function projectPublicModelFallback(fallback) { if (!fallback) return; const { prevThinkingLevelSelection: _privateSelection, ...publicFallback } = fallback; return publicFallback; } function stripPrivateSessionEntryFields(entry) { const projected = { ...entry }; for (const key of PRIVATE_SESSION_ENTRY_KEYS) delete projected[key]; delete projected.thinkingLevelSelection; const modelFallback = projectPublicModelFallback(entry.modelFallback); if (modelFallback) projected.modelFallback = modelFallback; else delete projected.modelFallback; return projected; } function projectPublicSessionEntry(entry) { return stripPrivateSessionEntryFields(entry); } function projectPublicSessionEntryPatch(patch) { return stripPrivateSessionEntryFields(patch); } //#endregion export { projectPublicSessionEntry as n, projectPublicSessionEntryPatch as r, SESSION_ENTRY_PRIVATE_CLEAR_PATCH as t };