Files
oh-my-pi/packages/ai/test/sse-debug.test.ts
T
can1357 00e6e14cb4 feat: added reconstructed raw SSE capture for stream provider SDKs
- Added reconstructed SSE event emission for OpenAI, Azure, and Anthropic streams.
- Added raw SSE text to debug report bundles, including raw-sse.txt output.
- Included dropped-record metadata in raw SSE text when events were trimmed.
- Updated raw SSE and sse-debug tests for observer-based capture and safety checks.
2026-06-08 02:35:14 +02:00

36 lines
1020 B
TypeScript

import { describe, expect, it } from "bun:test";
import type { RawSseEvent } from "../src/types";
import { notifyRawSseEvent } from "../src/utils/sse-debug";
describe("notifyRawSseEvent", () => {
it("dispatches diagnostic events without cloning raw lines", () => {
const raw = ["event: message", "data: hello"];
let observed: RawSseEvent | undefined;
notifyRawSseEvent(
event => {
observed = event;
},
{ event: "message", data: "hello", raw },
);
expect(observed).toEqual({ event: "message", data: "hello", raw });
expect(observed?.raw).toBe(raw);
});
it("keeps observer failures diagnostic-only", () => {
expect(() =>
notifyRawSseEvent(
() => {
throw new Error("observer failed");
},
{ event: "message", data: "hello", raw: ["event: message", "data: hello"] },
),
).not.toThrow();
});
it("is a no-op when no observer is installed", () => {
expect(() => notifyRawSseEvent(undefined, { event: null, data: "{}", raw: ["data: {}"] })).not.toThrow();
});
});