From 02912ba9efe763275d09548ec2f5bd44771cf3e0 Mon Sep 17 00:00:00 2001 From: Ramnique Singh <30795890+ramnique@users.noreply.github.com> Date: Fri, 10 Jul 2026 16:21:21 +0530 Subject: [PATCH] fix(x): clear remaining tsc drift in runtime test fixtures MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Same class as the two review findings — type errors only tsc sees (tests run untyped under vitest; the build tsconfig excludes them): - headless.test.ts read .agent.overrides without narrowing the RequestedAgent union; the assertions now compare the whole agent object, which is also stricter - real-agent-resolver.test.ts's byte-identity fixture predates the videoMode/coachMode flags (explicit false = the schema defaults, so the composed bytes are unchanged) - real-tool-registry.test.ts's permission asks predate isRead being required (options: [] was from the older ask shape) npx tsc --noEmit -p tsconfig.json is now clean for the whole package. Co-Authored-By: Claude Fable 5 --- apps/x/packages/core/src/runtime/assembly/headless.test.ts | 7 ++++--- .../src/runtime/turns/bridges/real-agent-resolver.test.ts | 2 ++ .../src/runtime/turns/bridges/real-tool-registry.test.ts | 4 ++-- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/apps/x/packages/core/src/runtime/assembly/headless.test.ts b/apps/x/packages/core/src/runtime/assembly/headless.test.ts index 2e67d298..a099a33e 100644 --- a/apps/x/packages/core/src/runtime/assembly/headless.test.ts +++ b/apps/x/packages/core/src/runtime/assembly/headless.test.ts @@ -252,7 +252,7 @@ describe("HeadlessAgentRunner", () => { const { runner, resolve } = createRunner(runtime); await runner.start({ agentId: "worker", message: "go" }); expect(resolve).not.toHaveBeenCalled(); - expect(runtime.createInputs[0].agent.overrides).toBeUndefined(); + expect(runtime.createInputs[0].agent).toEqual({ agentId: "worker" }); }); it("uses an injected default only for a partial model override", async () => { @@ -264,8 +264,9 @@ describe("HeadlessAgentRunner", () => { model: "custom-model", }); expect(resolve).toHaveBeenCalledOnce(); - expect(runtime.createInputs[0].agent.overrides).toEqual({ - model: { provider: "default-provider", model: "custom-model" }, + expect(runtime.createInputs[0].agent).toEqual({ + agentId: "worker", + overrides: { model: { provider: "default-provider", model: "custom-model" } }, }); }); diff --git a/apps/x/packages/core/src/runtime/turns/bridges/real-agent-resolver.test.ts b/apps/x/packages/core/src/runtime/turns/bridges/real-agent-resolver.test.ts index ac6c0c74..cd28c6cd 100644 --- a/apps/x/packages/core/src/runtime/turns/bridges/real-agent-resolver.test.ts +++ b/apps/x/packages/core/src/runtime/turns/bridges/real-agent-resolver.test.ts @@ -163,6 +163,8 @@ describe("RealAgentResolver", () => { searchEnabled: true, codeMode: "claude", codeCwd: null, + videoMode: false, + coachMode: false, }), ); }); diff --git a/apps/x/packages/core/src/runtime/turns/bridges/real-tool-registry.test.ts b/apps/x/packages/core/src/runtime/turns/bridges/real-tool-registry.test.ts index 41e3f3a1..59a44fbb 100644 --- a/apps/x/packages/core/src/runtime/turns/bridges/real-tool-registry.test.ts +++ b/apps/x/packages/core/src/runtime/turns/bridges/real-tool-registry.test.ts @@ -153,11 +153,11 @@ describe("RealToolRegistry", () => { const chunk = { type: "message", role: "agent", text: "hi" } as const; const resolution = { type: "permission", - ask: { toolCallId: "x", title: "write file", options: [] }, + ask: { toolCallId: "x", title: "write file", isRead: false }, decision: "allow_once", auto: false, } as const; - const ask = { toolCallId: "x", title: "write file", options: [] }; + const ask = { toolCallId: "x", title: "write file", isRead: false }; const { registry } = makeRegistry(async ({ ctx }) => { // Chatty stream events are ephemeral (CodeRunFeed) — NOT progress. await ctx.publish({