refactor(ai): unify prompt cache configuration
This commit is contained in:
parent
f6ea6b1762
commit
a214ac39de
19 changed files with 64 additions and 59 deletions
|
|
@ -235,7 +235,7 @@ it.effect("manual compaction summarizes short context instead of no-op", () =>
|
|||
expect(Array.from(yield* Fiber.join(delta)).map((event) => event.data.text)).toEqual(["manual summary"])
|
||||
|
||||
expect(requests).toHaveLength(1)
|
||||
expect(requests[0]?.promptCacheKey).toBe(sessionID)
|
||||
expect(requests[0]?.cache).toEqual({ mode: "auto", key: sessionID })
|
||||
expect(requests[0]?.http?.headers).toEqual({
|
||||
"x-session-affinity": sessionID,
|
||||
"X-Session-Id": sessionID,
|
||||
|
|
|
|||
|
|
@ -287,7 +287,7 @@ it.effect("generates from fresh settled Session context without durable mutation
|
|||
expect(requests[0]?.system[0]?.text).toBe("Hooked system")
|
||||
expect(requests[0]?.system.map((part) => part.text)).toContain("Initial context")
|
||||
expect(requests[0]?.http?.headers).toMatchObject({ "X-Session-Id": sessionID })
|
||||
expect(requests[0]?.promptCacheKey).toBe(sessionID)
|
||||
expect(requests[0]?.cache).toEqual({ mode: "auto", key: sessionID })
|
||||
const instructionUpdates = requests[0]?.messages.flatMap((message) =>
|
||||
message.role === "system"
|
||||
? message.content.flatMap((content) => (content.type === "text" ? [content.text] : []))
|
||||
|
|
|
|||
|
|
@ -3210,7 +3210,7 @@ describe("SessionRunnerLLM", () => {
|
|||
yield* stream.started
|
||||
|
||||
expect(requests).toHaveLength(2)
|
||||
expect(requests.map((request) => request.promptCacheKey)).toEqual([
|
||||
expect(requests.map((request) => (request.cache !== "none" ? request.cache?.key : undefined))).toEqual([
|
||||
sessionID,
|
||||
otherSessionID,
|
||||
])
|
||||
|
|
@ -3241,7 +3241,7 @@ describe("SessionRunnerLLM", () => {
|
|||
yield* session.resume(longSessionID)
|
||||
yield* session.resume(otherLongSessionID)
|
||||
|
||||
const keys = requests.map((request) => request.promptCacheKey)
|
||||
const keys = requests.map((request) => (request.cache !== "none" ? request.cache?.key : undefined))
|
||||
expect(keys).toEqual([longSessionID.slice(4), otherLongSessionID.slice(4)])
|
||||
expect(keys.every((key) => typeof key === "string" && key.length === 64)).toBe(true)
|
||||
expect(keys[0]).not.toBe(keys[1])
|
||||
|
|
|
|||
|
|
@ -153,7 +153,7 @@ it.effect("generates a title from the sole user message and renames the session"
|
|||
yield* title.generateForFirstPrompt(sessionID)
|
||||
|
||||
expect(requests).toHaveLength(1)
|
||||
expect(requests[0]?.promptCacheKey).toBe(sessionID)
|
||||
expect(requests[0]?.cache).toEqual({ mode: "auto", key: sessionID })
|
||||
expect(requests[0]?.http?.headers).toEqual({
|
||||
"x-session-affinity": sessionID,
|
||||
"X-Session-Id": sessionID,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue