From bd723b5163185200be2f63596d946b6e40441d5f Mon Sep 17 00:00:00 2001 From: YeonGyu-Kim Date: Mon, 6 Apr 2026 14:43:19 +0900 Subject: [PATCH] fix(tests): repair test regressions from zod v3 downgrade - Fix zod/v4 imports in background-task schema tests - Remove ZWSP prefix from agent-key-remapper test (fixed in #3136) - Use toMatchObject for openai-only catalog tests (fallback_models added by #3144) - Replace z.toJSONSchema (zod v4) with zodToJsonSchema (zod v3 compat) - Fix task-list.ts type narrowing for zod v3 inferred types --- script/build-schema-document.ts | 8 ++++---- src/cli/openai-only-model-catalog.test.ts | 6 +++--- src/config/schema/background-task-circuit-breaker.test.ts | 2 +- src/config/schema/background-task.test.ts | 2 +- src/plugin-handlers/agent-key-remapper.test.ts | 2 +- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/script/build-schema-document.ts b/script/build-schema-document.ts index a4cdf16a9..260b3bc6f 100644 --- a/script/build-schema-document.ts +++ b/script/build-schema-document.ts @@ -1,10 +1,10 @@ -import * as z from "zod" +import { zodToJsonSchema } from "zod-to-json-schema" import { OhMyOpenCodeConfigSchema } from "../src/config/schema" export function createOhMyOpenCodeJsonSchema(): Record { - const jsonSchema = z.toJSONSchema(OhMyOpenCodeConfigSchema, { - target: "draft-7", - unrepresentable: "any", + const jsonSchema = zodToJsonSchema(OhMyOpenCodeConfigSchema, { + target: "jsonSchema7", + $refStrategy: "none", }) return { diff --git a/src/cli/openai-only-model-catalog.test.ts b/src/cli/openai-only-model-catalog.test.ts index 2b9cae55b..9d516dfdd 100644 --- a/src/cli/openai-only-model-catalog.test.ts +++ b/src/cli/openai-only-model-catalog.test.ts @@ -53,8 +53,8 @@ describe("generateModelConfig OpenAI-only model catalog", () => { const result = generateModelConfig(config) // #then - expect(result.agents?.explore).toEqual({ model: "opencode-go/minimax-m2.7" }) - expect(result.agents?.librarian).toEqual({ model: "opencode-go/minimax-m2.7" }) - expect(result.categories?.quick).toEqual({ model: "openai/gpt-5.4-mini" }) + expect(result.agents?.explore).toMatchObject({ model: "opencode-go/minimax-m2.7" }) + expect(result.agents?.librarian).toMatchObject({ model: "opencode-go/minimax-m2.7" }) + expect(result.categories?.quick).toMatchObject({ model: "openai/gpt-5.4-mini" }) }) }) diff --git a/src/config/schema/background-task-circuit-breaker.test.ts b/src/config/schema/background-task-circuit-breaker.test.ts index 32595ca4d..d12190d5e 100644 --- a/src/config/schema/background-task-circuit-breaker.test.ts +++ b/src/config/schema/background-task-circuit-breaker.test.ts @@ -1,5 +1,5 @@ import { describe, expect, test } from "bun:test" -import { ZodError } from "zod/v4" +import { ZodError } from "zod" import { BackgroundTaskConfigSchema } from "./background-task" describe("BackgroundTaskConfigSchema.circuitBreaker", () => { diff --git a/src/config/schema/background-task.test.ts b/src/config/schema/background-task.test.ts index 9bd6c74de..ddfcbafec 100644 --- a/src/config/schema/background-task.test.ts +++ b/src/config/schema/background-task.test.ts @@ -1,5 +1,5 @@ import { describe, expect, test } from "bun:test" -import { ZodError } from "zod/v4" +import { ZodError } from "zod" import { BackgroundTaskConfigSchema } from "./background-task" describe("BackgroundTaskConfigSchema", () => { diff --git a/src/plugin-handlers/agent-key-remapper.test.ts b/src/plugin-handlers/agent-key-remapper.test.ts index d2e158605..fea227ea3 100644 --- a/src/plugin-handlers/agent-key-remapper.test.ts +++ b/src/plugin-handlers/agent-key-remapper.test.ts @@ -54,7 +54,7 @@ describe("remapAgentKeysToDisplayNames", () => { expect(result["hephaestus"]).toBeUndefined() expect(result["Prometheus (Plan Builder)"]).toBeDefined() expect(result["prometheus"]).toBeUndefined() - expect(result["\u200BAtlas (Plan Executor)"]).toBeDefined() + expect(result["Atlas (Plan Executor)"]).toBeDefined() expect(result["atlas"]).toBeUndefined() expect(result["Athena (Council)"]).toBeDefined() expect(result["athena"]).toBeUndefined()