From 05eb94cd3a7570195483d55ce78ea4dbbff3a4ea Mon Sep 17 00:00:00 2001 From: Ramnique Singh <30795890+ramnique@users.noreply.github.com> Date: Fri, 10 Jul 2026 16:19:25 +0530 Subject: [PATCH] fix(x): FakeTurnEventBus satisfies ITurnEventBus MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The interface grew subscribe/subscribeAll when the IPC bridge moved to resolving ITurnEventBus, but the runtime-test fake still only had publish — a TS2739 invisible to vitest and the build tsconfig. The fake now declares 'implements ITurnEventBus' so the next interface change fails loudly here instead of silently drifting. Co-Authored-By: Claude Fable 5 --- apps/x/packages/core/src/runtime/turns/runtime.test.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/apps/x/packages/core/src/runtime/turns/runtime.test.ts b/apps/x/packages/core/src/runtime/turns/runtime.test.ts index 9bc8b072..ef8ea96c 100644 --- a/apps/x/packages/core/src/runtime/turns/runtime.test.ts +++ b/apps/x/packages/core/src/runtime/turns/runtime.test.ts @@ -15,6 +15,7 @@ import type { IAgentResolver } from "./agent-resolver.js"; import type { TurnExecution, TurnOutcome } from "./api.js"; import { TurnDependencyError, TurnInputError } from "./api.js"; import type { TurnLifecycleEvent } from "./bus.js"; +import type { ITurnEventBus } from "./event-hub.js"; import { TurnRepoContextResolver } from "./context-resolver.js"; import { InMemoryTurnRepo } from "./in-memory-turn-repo.js"; import type { @@ -278,11 +279,17 @@ class FakeBus { } } -class FakeTurnEventBus { +class FakeTurnEventBus implements ITurnEventBus { events: TurnBusEvent[] = []; publish(event: TurnBusEvent): void { this.events.push(event); } + subscribe(): () => void { + return () => {}; + } + subscribeAll(): () => void { + return () => {}; + } } class FakeIdGen {