From 6b950b666a4cf4d9a238cd4727bd0d39ffeed063 Mon Sep 17 00:00:00 2001 From: Kit Langton Date: Tue, 12 May 2026 13:51:08 -0400 Subject: [PATCH] Remove Zod from core dependencies (#27107) --- bun.lock | 1 - packages/core/package.json | 3 +-- packages/core/src/util/fn.ts | 11 ----------- packages/enterprise/src/core/share.ts | 5 ++++- 4 files changed, 5 insertions(+), 15 deletions(-) delete mode 100644 packages/core/src/util/fn.ts diff --git a/bun.lock b/bun.lock index 4268e5fb7d..9ab93237d2 100644 --- a/bun.lock +++ b/bun.lock @@ -214,7 +214,6 @@ "npm-package-arg": "13.0.2", "semver": "^7.6.3", "xdg-basedir": "5.1.0", - "zod": "catalog:", }, "devDependencies": { "@tsconfig/bun": "catalog:", diff --git a/packages/core/package.json b/packages/core/package.json index e2ffa31d8d..6bcef68dc5 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -41,8 +41,7 @@ "minimatch": "10.2.5", "npm-package-arg": "13.0.2", "semver": "^7.6.3", - "xdg-basedir": "5.1.0", - "zod": "catalog:" + "xdg-basedir": "5.1.0" }, "overrides": { "drizzle-orm": "catalog:" diff --git a/packages/core/src/util/fn.ts b/packages/core/src/util/fn.ts deleted file mode 100644 index 828baf3bd7..0000000000 --- a/packages/core/src/util/fn.ts +++ /dev/null @@ -1,11 +0,0 @@ -import type { z } from "zod" - -export function fn(schema: T, cb: (input: z.infer) => Result) { - const result = (input: z.infer) => { - const parsed = schema.parse(input) - return cb(parsed) - } - result.force = (input: z.infer) => cb(input) - result.schema = schema - return result -} diff --git a/packages/enterprise/src/core/share.ts b/packages/enterprise/src/core/share.ts index fb8cd30295..a39171462d 100644 --- a/packages/enterprise/src/core/share.ts +++ b/packages/enterprise/src/core/share.ts @@ -1,9 +1,12 @@ import { Message, Model, Part, Session, SnapshotFileDiff } from "@opencode-ai/sdk/v2" -import { fn } from "@opencode-ai/core/util/fn" import { iife } from "@opencode-ai/core/util/iife" import z from "zod" import { Storage } from "./storage" +function fn(schema: T, cb: (input: z.infer) => Result) { + return (input: z.infer) => cb(schema.parse(input)) +} + export namespace Share { export const Info = z.object({ id: z.string(),