| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- import { describe, expect, test } from "bun:test"
- import { writeSessionOutput } from "../../src/mini/stream"
- import { createFooterApiFixture } from "./fixture/footer-api"
- describe("run stream bridge", () => {
- test("defaults status patches to running phase", () => {
- const out = createFooterApiFixture()
- writeSessionOutput(
- {
- footer: out.api,
- },
- {
- commits: [],
- updates: [{ type: "stream.patch", patch: { status: "assistant responding" } }],
- },
- )
- expect(out.events).toEqual([
- {
- type: "stream.patch",
- patch: {
- phase: "running",
- status: "assistant responding",
- },
- },
- ])
- })
- test("delivers commits before ordered footer updates", () => {
- const out = createFooterApiFixture()
- writeSessionOutput(
- { footer: out.api },
- {
- commits: [{ kind: "assistant", source: "assistant", text: "answer", phase: "progress" }],
- updates: [
- { type: "stream.patch", patch: { phase: "idle", status: "" } },
- { type: "stream.subagent", state: { tabs: [], details: {}, permissions: [], forms: [] } },
- { type: "stream.view", view: { type: "prompt" } },
- ],
- },
- )
- expect(out.calls.map((call) => (call.type === "commit" ? "commit" : call.value.type))).toEqual([
- "commit",
- "stream.patch",
- "stream.subagent",
- "stream.view",
- ])
- })
- })
|