mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-24 19:35:28 -06:00
clawdbot-d02: route plugin session reads through accessor
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
import { describe, expect, it } from "vitest";
|
||||
import {
|
||||
listSessionEntries as listAccessorSessionEntries,
|
||||
loadSessionEntry,
|
||||
} from "../config/sessions/session-accessor.js";
|
||||
import { getSessionEntry, listSessionEntries } from "./session-store-runtime.js";
|
||||
|
||||
describe("session-store-runtime", () => {
|
||||
it("routes read helpers through the session accessor seam", () => {
|
||||
expect(getSessionEntry).toBe(loadSessionEntry);
|
||||
expect(listSessionEntries).toBe(listAccessorSessionEntries);
|
||||
});
|
||||
});
|
||||
@@ -1,5 +1,9 @@
|
||||
// Narrow session-store helpers for channel hot paths.
|
||||
|
||||
import {
|
||||
listSessionEntries,
|
||||
loadSessionEntry as getSessionEntry,
|
||||
} from "../config/sessions/session-accessor.js";
|
||||
import { loadSessionStore as loadSessionStoreImpl } from "../config/sessions/store-load.js";
|
||||
|
||||
/**
|
||||
@@ -8,6 +12,7 @@ import { loadSessionStore as loadSessionStoreImpl } from "../config/sessions/sto
|
||||
* legacy mutable whole-store shape and will remain a compatibility escape hatch.
|
||||
*/
|
||||
export const loadSessionStore = loadSessionStoreImpl;
|
||||
export { getSessionEntry, listSessionEntries };
|
||||
|
||||
export { resolveSessionStoreEntry } from "../config/sessions/store-entry.js";
|
||||
export {
|
||||
@@ -22,8 +27,6 @@ export { resolveGroupSessionKey } from "../config/sessions/group.js";
|
||||
export { canonicalizeMainSessionAlias } from "../config/sessions/main-session.js";
|
||||
export {
|
||||
clearSessionStoreCacheForTest,
|
||||
getSessionEntry,
|
||||
listSessionEntries,
|
||||
patchSessionEntry,
|
||||
readSessionUpdatedAt,
|
||||
recordSessionMetaFromInbound,
|
||||
|
||||
@@ -6,6 +6,7 @@ import {
|
||||
setRuntimeConfigSnapshot,
|
||||
type OpenClawConfig,
|
||||
} from "../../config/config.js";
|
||||
import { listSessionEntries, loadSessionEntry } from "../../config/sessions/session-accessor.js";
|
||||
import { onAgentEvent } from "../../infra/agent-events.js";
|
||||
import {
|
||||
requestHeartbeat,
|
||||
@@ -321,6 +322,8 @@ describe("plugin runtime command execution", () => {
|
||||
"updateSessionStoreEntry",
|
||||
"resolveSessionFilePath",
|
||||
]);
|
||||
expect(runtime.agent.session.getSessionEntry).toBe(loadSessionEntry);
|
||||
expect(runtime.agent.session.listSessionEntries).toBe(listSessionEntries);
|
||||
},
|
||||
},
|
||||
{
|
||||
|
||||
@@ -12,8 +12,10 @@ import { normalizeThinkLevel, resolveThinkingProfile } from "../../auto-reply/th
|
||||
import { getRuntimeConfig } from "../../config/config.js";
|
||||
import { resolveSessionFilePath, resolveStorePath } from "../../config/sessions/paths.js";
|
||||
import {
|
||||
getSessionEntry,
|
||||
listSessionEntries,
|
||||
loadSessionEntry as getSessionEntry,
|
||||
} from "../../config/sessions/session-accessor.js";
|
||||
import {
|
||||
loadSessionStore,
|
||||
patchSessionEntry,
|
||||
saveSessionStore,
|
||||
|
||||
@@ -205,8 +205,8 @@ export type PluginRuntimeCore = {
|
||||
ensureAgentWorkspace: typeof import("../../agents/workspace.js").ensureAgentWorkspace;
|
||||
session: {
|
||||
resolveStorePath: typeof import("../../config/sessions/paths.js").resolveStorePath;
|
||||
getSessionEntry: typeof import("../../config/sessions/store.js").getSessionEntry;
|
||||
listSessionEntries: typeof import("../../config/sessions/store.js").listSessionEntries;
|
||||
getSessionEntry: typeof import("../../config/sessions/session-accessor.js").loadSessionEntry;
|
||||
listSessionEntries: typeof import("../../config/sessions/session-accessor.js").listSessionEntries;
|
||||
patchSessionEntry: typeof import("../../config/sessions/store.js").patchSessionEntry;
|
||||
upsertSessionEntry: typeof import("../../config/sessions/store.js").upsertSessionEntry;
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user