(args: {
db: ReturnType<typeof createTestDb>;
sessionId: string;
appendCompaction?: (...args: unknown[]) => string | undefined;
})
| 2588 | } |
| 2589 | |
| 2590 | async function runDrainPass(args: { |
| 2591 | db: ReturnType<typeof createTestDb>; |
| 2592 | sessionId: string; |
| 2593 | appendCompaction?: (...args: unknown[]) => string | undefined; |
| 2594 | }): Promise<void> { |
| 2595 | const fake = createFakePi(); |
| 2596 | registerPiContextHandler(fake.pi as never, { |
| 2597 | db: args.db, |
| 2598 | ctxReduceEnabled: true, |
| 2599 | injection: { injectionBudgetTokens: 10_000 }, |
| 2600 | }); |
| 2601 | const handler = fake.handlers.get("context") as ( |
| 2602 | event: { messages: never[] }, |
| 2603 | ctx: never, |
| 2604 | ) => Promise<{ messages: never[] }>; |
| 2605 | const messages = [ |
| 2606 | userMessage("first", 1), |
| 2607 | assistantMessage("second", 2), |
| 2608 | userMessage("third", 3), |
| 2609 | ] as never[]; |
| 2610 | const ctx = fakeContext( |
| 2611 | args.sessionId, |
| 2612 | process.cwd(), |
| 2613 | ["entry-1", "entry-2", "entry-3"], |
| 2614 | messages as never, |
| 2615 | ) as never as { |
| 2616 | sessionManager: { |
| 2617 | appendCompaction?: (...args: unknown[]) => string | undefined; |
| 2618 | }; |
| 2619 | }; |
| 2620 | if (args.appendCompaction) { |
| 2621 | ctx.sessionManager.appendCompaction = args.appendCompaction; |
| 2622 | } |
| 2623 | await handler({ messages }, ctx as never); |
| 2624 | } |
| 2625 | |
| 2626 | it("drains a deferred Pi marker only on a materializing pass", async () => { |
| 2627 | const db = createTestDb(); |
no test coverage detected