






















@@ -19,15 +19,13 @@ describe("buildApiErrorObservationFields", () => {
1919'{"type":"error","error":{"type":"overloaded_error","message":"Overloaded"},"request_id":"req_overload"}',
2020);
212122-expect(observed).toMatchObject({
23-rawErrorPreview: expect.stringContaining('"request_id":"sha256:'),
24-rawErrorHash: expect.stringMatching(/^sha256:/),
25-rawErrorFingerprint: expect.stringMatching(/^sha256:/),
26-providerRuntimeFailureKind: "timeout",
27-providerErrorType: "overloaded_error",
28-providerErrorMessagePreview: "Overloaded",
29-requestIdHash: expect.stringMatching(/^sha256:/),
30-});
22+expect(observed.rawErrorPreview).toContain('"request_id":"sha256:');
23+expect(observed.rawErrorHash?.startsWith("sha256:")).toBe(true);
24+expect(observed.rawErrorFingerprint?.startsWith("sha256:")).toBe(true);
25+expect(observed.providerRuntimeFailureKind).toBe("timeout");
26+expect(observed.providerErrorType).toBe("overloaded_error");
27+expect(observed.providerErrorMessagePreview).toBe("Overloaded");
28+expect(observed.requestIdHash?.startsWith("sha256:")).toBe(true);
3129expect(observed.rawErrorPreview).not.toContain("req_overload");
3230});
3331@@ -66,15 +64,13 @@ describe("buildApiErrorObservationFields", () => {
6664'{"type":"error","error":{"type":"overloaded_error","message":"Overloaded"},"request_id":"req_prev"}',
6765);
686669-expect(observed).toMatchObject({
70-textPreview: expect.stringContaining('"request_id":"sha256:'),
71-textHash: expect.stringMatching(/^sha256:/),
72-textFingerprint: expect.stringMatching(/^sha256:/),
73-providerRuntimeFailureKind: "timeout",
74-providerErrorType: "overloaded_error",
75-providerErrorMessagePreview: "Overloaded",
76-requestIdHash: expect.stringMatching(/^sha256:/),
77-});
67+expect(observed.textPreview).toContain('"request_id":"sha256:');
68+expect(observed.textHash?.startsWith("sha256:")).toBe(true);
69+expect(observed.textFingerprint?.startsWith("sha256:")).toBe(true);
70+expect(observed.providerRuntimeFailureKind).toBe("timeout");
71+expect(observed.providerErrorType).toBe("overloaded_error");
72+expect(observed.providerErrorMessagePreview).toBe("Overloaded");
73+expect(observed.requestIdHash?.startsWith("sha256:")).toBe(true);
7874expect(observed.textPreview).not.toContain("req_prev");
7975});
8076@@ -83,11 +79,9 @@ describe("buildApiErrorObservationFields", () => {
8379"LLM error overloaded_error: Overloaded (request_id: req_plaintext_123)",
8480);
858186-expect(observed).toMatchObject({
87-rawErrorPreview: expect.stringContaining("request_id: sha256:"),
88-rawErrorFingerprint: expect.stringMatching(/^sha256:/),
89-requestIdHash: expect.stringMatching(/^sha256:/),
90-});
82+expect(observed.rawErrorPreview).toContain("request_id: sha256:");
83+expect(observed.rawErrorFingerprint?.startsWith("sha256:")).toBe(true);
84+expect(observed.requestIdHash?.startsWith("sha256:")).toBe(true);
9185expect(observed.rawErrorPreview).not.toContain("req_plaintext_123");
9286});
9387@@ -120,10 +114,10 @@ describe("buildApiErrorObservationFields", () => {
120114const oversized = "X".repeat(70_000);
121115const bounded = "X".repeat(64_000);
122116123-expect(buildApiErrorObservationFields(oversized)).toMatchObject({
124- rawErrorHash: buildApiErrorObservationFields(bounded).rawErrorHash,
125- rawErrorFingerprint: buildApiErrorObservationFields(bounded).rawErrorFingerprint,
126-});
117+const observed = buildApiErrorObservationFields(oversized);
118+const boundedObserved = buildApiErrorObservationFields(bounded);
119+expect(observed.rawErrorHash).toBe(boundedObserved.rawErrorHash);
120+expect(observed.rawErrorFingerprint).toBe(boundedObserved.rawErrorFingerprint);
127121});
128122129123it("returns empty observation fields for empty input", () => {
@@ -185,10 +179,8 @@ describe("buildApiErrorObservationFields", () => {
185179'401 {"type":"error","error":{"type":"permission_error","message":"Missing scopes: api.responses.write"}}',
186180);
187181188-expect(observed).toMatchObject({
189-httpCode: "401",
190-providerRuntimeFailureKind: "unclassified",
191-});
182+expect(observed.httpCode).toBe("401");
183+expect(observed.providerRuntimeFailureKind).toBe("unclassified");
192184});
193185});
194186此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。