diff --git a/src/config/sessions/session-accessor.test.ts b/src/config/sessions/session-accessor.test.ts index 4e2972a37d3c..c64bdd1b71ea 100644 --- a/src/config/sessions/session-accessor.test.ts +++ b/src/config/sessions/session-accessor.test.ts @@ -14,7 +14,6 @@ import { cleanupSessionLifecycleArtifacts, createSessionEntryWithTranscript, listSessionEntries, - loadExactSessionEntry, loadSessionEntry, loadTranscriptEvents, patchSessionEntry, @@ -207,7 +206,7 @@ describe("session accessor file-backed seam", () => { ); }); - it("keeps exact persisted-key lookup separate from canonical entry reads", async () => { + it("resolves canonical entry reads without requiring exact key casing", async () => { fs.writeFileSync( storePath, JSON.stringify({ @@ -225,15 +224,12 @@ describe("session accessor file-backed seam", () => { storePath, }; - expect(loadSessionEntry(mixedCaseScope)?.sessionId).toBe("session-1"); - expect(loadExactSessionEntry(mixedCaseScope)).toBeUndefined(); - expect(loadExactSessionEntry({ sessionKey: "agent:main:main", storePath })).toEqual({ - sessionKey: "agent:main:main", - entry: expect.objectContaining({ + expect(loadSessionEntry(mixedCaseScope)).toEqual( + expect.objectContaining({ sessionId: "session-1", model: "gpt-5.5", }), - }); + ); }); it("updates existing entries without creating missing sessions", async () => { diff --git a/src/config/sessions/session-accessor.ts b/src/config/sessions/session-accessor.ts index 1e6f507f5bbe..4842b458c98a 100644 --- a/src/config/sessions/session-accessor.ts +++ b/src/config/sessions/session-accessor.ts @@ -166,12 +166,6 @@ export type SessionEntrySummary = { entry: SessionEntry; }; -/** Session entry read by the exact persisted session key, without alias resolution. */ -export type ExactSessionEntry = { - sessionKey: string; - entry: SessionEntry; -}; - /** Raw transcript record for non-message events; message records use appendTranscriptMessage. */ export type TranscriptEvent = unknown; @@ -443,24 +437,6 @@ export function loadSessionEntry(scope: SessionAccessScope): SessionEntry | unde return getSessionEntry(scope); } -/** - * Returns only the row persisted under the exact key provided. - * Use this for authorization-sensitive routing where alias canonicalization - * could cross an account or agent boundary. - */ -export function loadExactSessionEntry(scope: SessionAccessScope): ExactSessionEntry | undefined { - const sessionKey = scope.sessionKey.trim(); - if (!sessionKey) { - return undefined; - } - const store = loadSessionStore(resolveAccessStorePath(scope), { - ...(scope.clone === false ? { clone: false } : {}), - ...(scope.hydrateSkillPromptRefs === false ? { hydrateSkillPromptRefs: false } : {}), - }); - const entry = Object.hasOwn(store, sessionKey) ? store[sessionKey] : undefined; - return entry ? { sessionKey, entry } : undefined; -} - /** Lists entries from the resolved store, preserving the persisted key for each row. */ export function listSessionEntries( scope: Partial> = {},