



















@@ -31,6 +31,21 @@ function boundarySystemPayload(): TestPayload {
3131};
3232}
333334+function simpleTextPayload(): TestPayload {
35+return {
36+system: [{ type: "text", text: "Follow policy." }],
37+messages: [{ role: "user", content: "Hello" }],
38+};
39+}
40+41+function expectShortEphemeralTextPayload(payload: TestPayload) {
42+expect(payload.system).toEqual([textBlock("Follow policy.", { type: "ephemeral" })]);
43+expect(payload.messages[0]).toEqual({
44+role: "user",
45+content: [{ type: "text", text: "Hello", cache_control: { type: "ephemeral" } }],
46+});
47+}
48+3449describe("anthropic payload policy", () => {
3550it("applies native Anthropic service tier and cache markers without widening cache scope", () => {
3651const policy = resolveAnthropicPayloadPolicy({
@@ -95,10 +110,7 @@ describe("anthropic payload policy", () => {
95110enableCacheControl: true,
96111serviceTier: "auto",
97112});
98-const payload: TestPayload = {
99-system: [{ type: "text", text: "Follow policy." }],
100-messages: [{ role: "user", content: "Hello" }],
101-};
113+const payload = simpleTextPayload();
102114103115applyAnthropicPayloadPolicyToParams(payload, policy);
104116@@ -120,18 +132,11 @@ describe("anthropic payload policy", () => {
120132baseUrl: "https://proxy.example.com/anthropic",
121133enableCacheControl: true,
122134});
123-const payload: TestPayload = {
124-system: [{ type: "text", text: "Follow policy." }],
125-messages: [{ role: "user", content: "Hello" }],
126-};
135+const payload = simpleTextPayload();
127136128137applyAnthropicPayloadPolicyToParams(payload, policy);
129138130-expect(payload.system).toEqual([textBlock("Follow policy.", { type: "ephemeral" })]);
131-expect(payload.messages[0]).toEqual({
132-role: "user",
133-content: [{ type: "text", text: "Hello", cache_control: { type: "ephemeral" } }],
134-});
139+expectShortEphemeralTextPayload(payload);
135140} finally {
136141if (previous === undefined) {
137142delete process.env.PI_CACHE_RETENTION;
@@ -149,18 +154,11 @@ describe("anthropic payload policy", () => {
149154cacheRetention: "short",
150155enableCacheControl: true,
151156});
152-const payload: TestPayload = {
153-system: [{ type: "text", text: "Follow policy." }],
154-messages: [{ role: "user", content: "Hello" }],
155-};
157+const payload = simpleTextPayload();
156158157159applyAnthropicPayloadPolicyToParams(payload, policy);
158160159-expect(payload.system).toEqual([textBlock("Follow policy.", { type: "ephemeral" })]);
160-expect(payload.messages[0]).toEqual({
161-role: "user",
162-content: [{ type: "text", text: "Hello", cache_control: { type: "ephemeral" } }],
163-});
161+expectShortEphemeralTextPayload(payload);
164162});
165163166164it("splits cached stable system content from uncached dynamic content", () => {
@@ -217,10 +215,7 @@ describe("anthropic payload policy", () => {
217215cacheRetention: "short",
218216enableCacheControl: true,
219217});
220-const payload: TestPayload = {
221-system: [{ type: "text", text: "Follow policy." }],
222-messages: [{ role: "user", content: "Hello" }],
223-};
218+const payload = simpleTextPayload();
224219225220applyAnthropicPayloadPolicyToParams(payload, policy);
226221此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。