mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-24 23:51:48 +00:00
* fix(agents): stabilize prompt cache fingerprints * chore(changelog): note prompt cache fingerprint stability * refactor(agents): simplify capability normalization * refactor(agents): simplify prompt capability normalization helper
45 lines
1.6 KiB
TypeScript
45 lines
1.6 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
import {
|
|
prependSystemPromptAdditionAfterCacheBoundary,
|
|
splitSystemPromptCacheBoundary,
|
|
stripSystemPromptCacheBoundary,
|
|
SYSTEM_PROMPT_CACHE_BOUNDARY,
|
|
} from "./system-prompt-cache-boundary.js";
|
|
|
|
describe("system prompt cache boundary helpers", () => {
|
|
it("splits stable and dynamic prompt regions", () => {
|
|
expect(
|
|
splitSystemPromptCacheBoundary(`Stable prefix${SYSTEM_PROMPT_CACHE_BOUNDARY}Dynamic suffix`),
|
|
).toEqual({
|
|
stablePrefix: "Stable prefix",
|
|
dynamicSuffix: "Dynamic suffix",
|
|
});
|
|
});
|
|
|
|
it("strips the internal marker from prompt text", () => {
|
|
expect(
|
|
stripSystemPromptCacheBoundary(`Stable prefix${SYSTEM_PROMPT_CACHE_BOUNDARY}Dynamic suffix`),
|
|
).toBe("Stable prefix\nDynamic suffix");
|
|
});
|
|
|
|
it("inserts prompt additions after the cache boundary", () => {
|
|
expect(
|
|
prependSystemPromptAdditionAfterCacheBoundary({
|
|
systemPrompt: `Stable prefix${SYSTEM_PROMPT_CACHE_BOUNDARY}Dynamic suffix`,
|
|
systemPromptAddition: "Per-turn lab context",
|
|
}),
|
|
).toBe(`Stable prefix${SYSTEM_PROMPT_CACHE_BOUNDARY}Per-turn lab context\n\nDynamic suffix`);
|
|
});
|
|
|
|
it("normalizes structured additions and dynamic suffix whitespace", () => {
|
|
expect(
|
|
prependSystemPromptAdditionAfterCacheBoundary({
|
|
systemPrompt: `Stable prefix${SYSTEM_PROMPT_CACHE_BOUNDARY}Dynamic suffix \r\n\r\nMore detail \t\r\n`,
|
|
systemPromptAddition: " Per-turn lab context \r\nSecond line\t\r\n",
|
|
}),
|
|
).toBe(
|
|
`Stable prefix${SYSTEM_PROMPT_CACHE_BOUNDARY}Per-turn lab context\nSecond line\n\nDynamic suffix\n\nMore detail`,
|
|
);
|
|
});
|
|
});
|