Skip to content

Commit 44d84b4

Browse files
fix(diagnostics): track model stream progress
1 parent d95a8e2 commit 44d84b4

1 file changed

Lines changed: 13 additions & 2 deletions

File tree

src/agents/pi-embedded-runner/run/attempt.model-diagnostic-events.test.ts

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,12 @@ describe("wrapStreamFnWithDiagnosticModelCallEvents", () => {
265265

266266
it("does not retain stream progress activity when diagnostics are disabled", async () => {
267267
setDiagnosticsEnabledForProcess(false);
268+
const runProgressEvents: DiagnosticEventPayload[] = [];
269+
const stop = onInternalDiagnosticEvent((event) => {
270+
if (event.type === "run.progress") {
271+
runProgressEvents.push(event);
272+
}
273+
});
268274
async function* stream() {
269275
yield { type: "text_delta", delta: "first" };
270276
yield { type: "text_delta", delta: "second" };
@@ -282,15 +288,20 @@ describe("wrapStreamFnWithDiagnosticModelCallEvents", () => {
282288
},
283289
);
284290

285-
await drain(wrapped({} as never, {} as never, {} as never) as AsyncIterable<unknown>);
286-
await waitForDiagnosticEventsDrained();
291+
try {
292+
await drain(wrapped({} as never, {} as never, {} as never) as AsyncIterable<unknown>);
293+
await waitForDiagnosticEventsDrained();
294+
} finally {
295+
stop();
296+
}
287297

288298
expect(
289299
getDiagnosticSessionActivitySnapshot({
290300
sessionKey: "session-key",
291301
sessionId: "session-id",
292302
}),
293303
).toEqual({});
304+
expect(runProgressEvents).toEqual([]);
294305
});
295306

296307
it("counts async onPayload replacements instead of raw payload content", async () => {

0 commit comments

Comments
 (0)