mirror of
https://github.com/getcompanion-ai/co-mono.git
synced 2026-04-16 11:03:44 +00:00
Improve before_compact hook: add messagesToKeep, replace apiKey with resolveApiKey
This commit is contained in:
parent
e4283294c8
commit
d9a542763a
8 changed files with 51 additions and 24 deletions
|
|
@ -15,17 +15,19 @@ describe("Documentation example", () => {
|
|||
|
||||
// After narrowing, these should all be accessible
|
||||
const messages = event.messagesToSummarize;
|
||||
const messagesToKeep = event.messagesToKeep;
|
||||
const cutPoint = event.cutPoint;
|
||||
const tokensBefore = event.tokensBefore;
|
||||
const model = event.model;
|
||||
const apiKey = event.apiKey;
|
||||
const resolveApiKey = event.resolveApiKey;
|
||||
|
||||
// Verify types
|
||||
expect(Array.isArray(messages)).toBe(true);
|
||||
expect(Array.isArray(messagesToKeep)).toBe(true);
|
||||
expect(typeof cutPoint.firstKeptEntryIndex).toBe("number");
|
||||
expect(typeof tokensBefore).toBe("number");
|
||||
expect(model).toBeDefined();
|
||||
expect(typeof apiKey).toBe("string");
|
||||
expect(typeof resolveApiKey).toBe("function");
|
||||
|
||||
const summary = messages
|
||||
.filter((m) => m.role === "user")
|
||||
|
|
|
|||
|
|
@ -129,9 +129,10 @@ describe.skipIf(!API_KEY)("Compaction hooks", () => {
|
|||
expect(beforeEvent.cutPoint).toBeDefined();
|
||||
expect(beforeEvent.cutPoint.firstKeptEntryIndex).toBeGreaterThanOrEqual(0);
|
||||
expect(beforeEvent.messagesToSummarize).toBeDefined();
|
||||
expect(beforeEvent.messagesToKeep).toBeDefined();
|
||||
expect(beforeEvent.tokensBefore).toBeGreaterThanOrEqual(0);
|
||||
expect(beforeEvent.model).toBeDefined();
|
||||
expect(beforeEvent.apiKey).toBeDefined();
|
||||
expect(beforeEvent.resolveApiKey).toBeDefined();
|
||||
}
|
||||
|
||||
const afterEvent = compactEvents[0];
|
||||
|
|
@ -336,14 +337,14 @@ describe.skipIf(!API_KEY)("Compaction hooks", () => {
|
|||
expect(event.cutPoint).toHaveProperty("turnStartIndex");
|
||||
|
||||
expect(Array.isArray(event.messagesToSummarize)).toBe(true);
|
||||
expect(Array.isArray(event.messagesToKeep)).toBe(true);
|
||||
|
||||
expect(typeof event.tokensBefore).toBe("number");
|
||||
|
||||
expect(event.model).toHaveProperty("provider");
|
||||
expect(event.model).toHaveProperty("id");
|
||||
|
||||
expect(typeof event.apiKey).toBe("string");
|
||||
expect(event.apiKey.length).toBeGreaterThan(0);
|
||||
expect(typeof event.resolveApiKey).toBe("function");
|
||||
|
||||
expect(Array.isArray(event.entries)).toBe(true);
|
||||
expect(event.entries.length).toBeGreaterThan(0);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue