




















@@ -89,10 +89,10 @@ describe("splitMessagesByTokenShare", () => {
8989const messages = makeMessages(4, 4000);
90909191const parts = splitMessagesByTokenShare(messages, 2);
92-expect(parts.length).toBeGreaterThanOrEqual(2);
93-expect(parts[0]?.length).toBeGreaterThan(0);
94-expect(parts[1]?.length).toBeGreaterThan(0);
95-expect(parts.flat().length).toBe(messages.length);
92+expect(parts.map((chunk) => chunk.map((msg) => msg.timestamp))).toEqual([
93+ [1, 2],
94+ [3, 4],
95+]);
9696});
97979898it("preserves message order across parts", () => {
@@ -146,8 +146,7 @@ describe("splitMessagesByTokenShare", () => {
146146const resultTimestamps = chunkWithAssistant
147147.filter((m) => m.role === "toolResult")
148148.map((m) => m.timestamp);
149-expect(resultTimestamps).toContain(3);
150-expect(resultTimestamps).toContain(4);
149+expect(resultTimestamps).toEqual([3, 4]);
151150expect(parts.flat().length).toBe(messages.length);
152151});
153152@@ -177,11 +176,7 @@ describe("splitMessagesByTokenShare", () => {
177176178177const parts = splitMessagesByTokenShare(messages, 2);
179178180-expect(parts.length).toBe(2);
181-const chunk1Roles = parts[0].map((m) => m.role);
182-expect(chunk1Roles).toContain("assistant");
183-expect(chunk1Roles).toContain("toolResult");
184-expect(parts.flat().length).toBe(messages.length);
179+expect(parts.map((chunk) => chunk.map((msg) => msg.timestamp))).toEqual([[1, 2], [3]]);
185180});
186181187182it("splits before a trailing completed tool-call pair", () => {
@@ -207,8 +202,7 @@ describe("splitMessagesByTokenShare", () => {
207202208203const parts = splitMessagesByTokenShare(messages, 2);
209204210-expect(parts.length).toBe(2);
211-expect(parts.flat().length).toBe(messages.length);
205+expect(parts.map((chunk) => chunk.map((msg) => msg.timestamp))).toEqual([[1], [2, 3]]);
212206});
213207214208it("splits before unfinished tool-call turns that never get a result", () => {
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。