diff --git a/packages/google-sheets-mcp-server/package.json b/packages/google-sheets-mcp-server/package.json index 6f0e194e2ff..3a86aa7e9d2 100644 --- a/packages/google-sheets-mcp-server/package.json +++ b/packages/google-sheets-mcp-server/package.json @@ -47,7 +47,7 @@ "dependencies": { "@modelcontextprotocol/sdk": "^1.31.0", "googleapis": "^182.0.0", - "zod": "^4.4.3" + "zod": "^4.6.6" }, "devDependencies": { "@types/node": "^24.0.0", diff --git a/packages/kv-demo-mcp-server/package.json b/packages/kv-demo-mcp-server/package.json index 60dab9ae975..2a39a1c6b89 100644 --- a/packages/kv-demo-mcp-server/package.json +++ b/packages/kv-demo-mcp-server/package.json @@ -45,7 +45,7 @@ }, "dependencies": { "@modelcontextprotocol/sdk": "^1.31.0", - "zod": "^4.4.3" + "zod": "^4.6.6" }, "devDependencies": { "@types/node": "^24.0.0", diff --git a/packages/mcp-server/package.json b/packages/mcp-server/package.json index 7e87abac9fe..3d52a8bf12f 100644 --- a/packages/mcp-server/package.json +++ b/packages/mcp-server/package.json @@ -45,7 +45,7 @@ "dependencies": { "@modelcontextprotocol/sdk": "^1.31.0", "@paperclipai/shared": "workspace:*", - "zod": "^4.4.3" + "zod": "^4.6.6" }, "devDependencies": { "@types/node": "^24.0.0", diff --git a/packages/plugins/sdk/package.json b/packages/plugins/sdk/package.json index 1dd9473bdc6..b7a4936e280 100644 --- a/packages/plugins/sdk/package.json +++ b/packages/plugins/sdk/package.json @@ -109,7 +109,7 @@ }, "dependencies": { "@paperclipai/shared": "workspace:*", - "zod": "^4.4.3" + "zod": "^4.6.6" }, "devDependencies": { "@types/node": "^24.0.0", diff --git a/packages/shared/package.json b/packages/shared/package.json index b29212ed255..6417ef8baef 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -46,7 +46,7 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "zod": "^4.4.3", + "zod": "^4.6.6", "three": "0.185.1" }, "devDependencies": { diff --git a/packages/shared/src/runner-goal.test.ts b/packages/shared/src/runner-goal.test.ts new file mode 100644 index 00000000000..05814124d8f --- /dev/null +++ b/packages/shared/src/runner-goal.test.ts @@ -0,0 +1,23 @@ +import { describe, expect, it } from "vitest"; +import { RUNNER_GOAL_MAX_OBJECTIVE_CHARS, runnerGoalActionRequestSchema } from "./runner-goal.js"; + +describe("runner goal objective", () => { + const request = (objective: string) => ({ + requestId: "request-1", + agentId: "4f0b2c1e-8a57-4c7d-9e21-3d6f5a1b7c90", + expectedRevision: 0, + action: "create", + objective, + }); + + it("bounds the objective by the string length the goal readers enforce", () => { + const emoji = "😀".repeat(RUNNER_GOAL_MAX_OBJECTIVE_CHARS / 2); + expect(runnerGoalActionRequestSchema.safeParse(request(emoji)).success).toBe(true); + expect(runnerGoalActionRequestSchema.safeParse(request(`${emoji}x`)).success).toBe(false); + }); + + it("measures the objective after trimming", () => { + const objective = "x".repeat(RUNNER_GOAL_MAX_OBJECTIVE_CHARS); + expect(runnerGoalActionRequestSchema.safeParse(request(` ${objective} `)).success).toBe(true); + }); +}); diff --git a/packages/shared/src/runner-goal.ts b/packages/shared/src/runner-goal.ts index c8469908d47..dc61b33fd36 100644 --- a/packages/shared/src/runner-goal.ts +++ b/packages/shared/src/runner-goal.ts @@ -1,4 +1,5 @@ import { z } from "zod"; +import { maxStringLength } from "./validators/text.js"; export const RUNNER_GOAL_MAX_OBJECTIVE_CHARS = 4_000; @@ -85,11 +86,7 @@ export interface RunnerGoalProjection { observedAt: string | null; } -const objectiveSchema = z - .string() - .trim() - .min(1) - .max(RUNNER_GOAL_MAX_OBJECTIVE_CHARS); +const objectiveSchema = maxStringLength(z.string().trim().min(1), RUNNER_GOAL_MAX_OBJECTIVE_CHARS); export const runnerGoalActionRequestSchema = z .object({ diff --git a/packages/shared/src/validators/agent-commentary.ts b/packages/shared/src/validators/agent-commentary.ts index 8330e2c2f99..8242c5b28a7 100644 --- a/packages/shared/src/validators/agent-commentary.ts +++ b/packages/shared/src/validators/agent-commentary.ts @@ -1,11 +1,13 @@ import { z } from "zod"; +import { maxStringLength } from "./text.js"; /** Same ceiling as an ordinary issue document; brevity is guidance, not a quota. */ export const AGENT_COMMENTARY_MAX_LENGTH = 524_288; export const AGENT_COMMENTARY_KINDS = ["complaint", "suggestion"] as const; export const agentCommentaryToolInputSchema = z.object({ - body: z.string().max(AGENT_COMMENTARY_MAX_LENGTH).refine((body) => body.trim().length > 0, "Feedback must not be empty"), + // The ceiling is JavaScript string length, matching submit-agent-commentary.mjs. + body: maxStringLength(z.string(), AGENT_COMMENTARY_MAX_LENGTH).refine((body) => body.trim().length > 0, "Feedback must not be empty"), idempotencyKey: z.string().trim().min(1).max(240), }).strict(); diff --git a/packages/shared/src/validators/issue.test.ts b/packages/shared/src/validators/issue.test.ts index 14009bda483..80328c7d2c2 100644 --- a/packages/shared/src/validators/issue.test.ts +++ b/packages/shared/src/validators/issue.test.ts @@ -716,6 +716,18 @@ describe("persisted canonical question initial text", () => { expect(paperclipQuestionSetPayloadSchema.safeParse(input({ initialText })).success).toBe(codePoints === 100_000); } }); + it("bounds question text by the string length the Runner parser enforces", () => { + const within = paperclipQuestionSetPayloadSchema.safeParse(input({ prompt: "😀".repeat(2000) })); + expect(within.success).toBe(true); + for (const payload of [ + input({ prompt: "😀".repeat(2000) + "x" }), + input({ id: "😀".repeat(81) }), + { ...input({}), title: "😀".repeat(501) }, + { ...input({}), submitLabel: "😀".repeat(101) }, + ]) { + expect(paperclipQuestionSetPayloadSchema.safeParse(payload).success).toBe(false); + } + }); it("rejects non-text modes and unbounded or nonstring defaults", () => { for (const initialText of [null, 1, "x".repeat(100_001), "a".repeat(100_000) + "😀"]) { expect(paperclipQuestionSetPayloadSchema.safeParse(input({ initialText })).success).toBe(false); diff --git a/packages/shared/src/validators/issue.ts b/packages/shared/src/validators/issue.ts index 763584041e9..60b75f0ce6c 100644 --- a/packages/shared/src/validators/issue.ts +++ b/packages/shared/src/validators/issue.ts @@ -1,6 +1,7 @@ import { CHAT_PROVIDERS } from "../types/chat-channels.js"; import { taskWorkspaceSelectionSchema } from "./task-workspace.js"; import { z } from "zod"; +import { maxStringLength } from "./text.js"; import { ISSUE_SUMMARIES_MAX_IDS } from "../constants.js"; import { @@ -1365,18 +1366,18 @@ export const askUserQuestionsQuestionSchema = z.object({ }); const paperclipQuestionOptionSchema = z.object({ - id: z.string().min(1).max(160), - label: z.string().min(1).max(1000), - description: z.string().max(4000).optional(), + id: maxStringLength(z.string().min(1), 160), + label: maxStringLength(z.string().min(1), 1000), + description: maxStringLength(z.string(), 4000).optional(), recommended: z.boolean().optional(), }); const paperclipQuestionSchema = z .object({ - id: z.string().min(1).max(160), - header: z.string().max(1000).optional(), - prompt: z.string().min(1).max(4000), - helpText: z.string().max(4000).optional(), + id: maxStringLength(z.string().min(1), 160), + header: maxStringLength(z.string(), 1000).optional(), + prompt: maxStringLength(z.string().min(1), 4000), + helpText: maxStringLength(z.string(), 4000).optional(), required: z.boolean(), answerMode: z.enum(["single_select", "multi_select", "text"]), initialText: z.string().refine(value => value.length <= 200000 && Array.from(value).length <= 100000, "initial text exceeds 100000 Unicode code points").optional(), @@ -1384,15 +1385,15 @@ const paperclipQuestionSchema = z customAnswer: z .object({ enabled: z.literal(true), - label: z.string().max(1000).optional(), - placeholder: z.string().max(1000).optional(), + label: maxStringLength(z.string(), 1000).optional(), + placeholder: maxStringLength(z.string(), 1000).optional(), }) .optional(), textValidation: z .object({ minLength: z.number().int().min(0).max(100000).optional(), maxLength: z.number().int().min(0).max(100000).optional(), - pattern: z.string().max(1000).optional(), + pattern: maxStringLength(z.string(), 1000).optional(), inputType: z.enum(["text", "number", "integer"]).optional(), minimum: z.number().finite().optional(), maximum: z.number().finite().optional(), @@ -1477,9 +1478,9 @@ const paperclipQuestionSchema = z export const paperclipQuestionSetPayloadSchema = z .object({ schema: z.literal("paperclip.question_set.v1"), - title: z.string().max(1000).optional(), - description: z.string().max(100_000).optional(), - submitLabel: z.string().max(200).optional(), + title: maxStringLength(z.string(), 1000).optional(), + description: maxStringLength(z.string(), 100_000).optional(), + submitLabel: maxStringLength(z.string(), 200).optional(), questions: z.array(paperclipQuestionSchema).min(1).max(64), }) .superRefine((value, ctx) => { diff --git a/packages/shared/src/validators/text.ts b/packages/shared/src/validators/text.ts index 99c753fd63d..74c430fe17c 100644 --- a/packages/shared/src/validators/text.ts +++ b/packages/shared/src/validators/text.ts @@ -12,3 +12,12 @@ export function normalizeEscapedLineBreaks(value: string): string { } export const multilineTextSchema = z.string().transform(normalizeEscapedLineBreaks); + +/** + * Bound a string by JavaScript string length as well as Zod's max, which counts code + * points and so admits up to twice `max` in emoji. Use this where a consumer of the + * value enforces the same limit with `.length`. + */ +export function maxStringLength(schema: z.ZodString, max: number) { + return schema.max(max).refine((value) => value.length <= max, `Must be at most ${max} characters`); +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 50395eeb936..45b3aaf615e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -189,10 +189,10 @@ importers: dependencies: '@agentclientprotocol/claude-agent-acp': specifier: ^0.73.0 - version: 0.73.0(patch_hash=syoits7l7g3sthy3olttp2fv24)(@anthropic-ai/sdk@0.129.0(zod@4.6.5))(@modelcontextprotocol/sdk@1.31.0(zod@4.6.5)) + version: 0.73.0(patch_hash=syoits7l7g3sthy3olttp2fv24)(@anthropic-ai/sdk@0.129.0(zod@4.6.7))(@modelcontextprotocol/sdk@1.31.0(zod@4.6.7)) '@anthropic-ai/sdk': specifier: 0.129.0 - version: 0.129.0(zod@4.6.5) + version: 0.129.0(zod@4.6.7) '@paperclipai/adapter-utils': specifier: workspace:* version: link:../../adapter-utils @@ -442,13 +442,13 @@ importers: dependencies: '@modelcontextprotocol/sdk': specifier: ^1.31.0 - version: 1.31.0(zod@4.4.3) + version: 1.31.0(zod@4.6.7) googleapis: specifier: ^182.0.0 version: 182.0.0 zod: - specifier: ^4.4.3 - version: 4.4.3 + specifier: ^4.6.6 + version: 4.6.7 devDependencies: '@types/node': specifier: ^24.0.0 @@ -464,10 +464,10 @@ importers: dependencies: '@modelcontextprotocol/sdk': specifier: ^1.31.0 - version: 1.31.0(zod@4.4.3) + version: 1.31.0(zod@4.6.7) zod: - specifier: ^4.4.3 - version: 4.4.3 + specifier: ^4.6.6 + version: 4.6.7 devDependencies: '@types/node': specifier: ^24.0.0 @@ -483,13 +483,13 @@ importers: dependencies: '@modelcontextprotocol/sdk': specifier: ^1.31.0 - version: 1.31.0(zod@4.4.3) + version: 1.31.0(zod@4.6.7) '@paperclipai/shared': specifier: workspace:* version: link:../shared zod: - specifier: ^4.4.3 - version: 4.4.3 + specifier: ^4.6.6 + version: 4.6.7 devDependencies: '@types/node': specifier: ^24.0.0 @@ -514,7 +514,7 @@ importers: dependencies: '@agentclientprotocol/claude-agent-acp': specifier: 0.73.0 - version: 0.73.0(patch_hash=syoits7l7g3sthy3olttp2fv24)(@anthropic-ai/sdk@0.129.0(zod@4.6.5))(@modelcontextprotocol/sdk@1.31.0(zod@4.6.5)) + version: 0.73.0(patch_hash=syoits7l7g3sthy3olttp2fv24)(@anthropic-ai/sdk@0.129.0(zod@4.6.7))(@modelcontextprotocol/sdk@1.31.0(zod@4.6.7)) '@agentclientprotocol/codex-acp': specifier: 1.6.2 version: 1.6.2(patch_hash=2iynuypg76nxmydiylgtffhr7e) @@ -837,8 +837,8 @@ importers: specifier: workspace:* version: link:../../shared zod: - specifier: ^4.4.3 - version: 4.4.3 + specifier: ^4.6.6 + version: 4.6.7 devDependencies: '@types/node': specifier: ^24.0.0 @@ -856,8 +856,8 @@ importers: specifier: 0.185.1 version: 0.185.1 zod: - specifier: ^4.4.3 - version: 4.4.3 + specifier: ^4.6.6 + version: 4.6.7 devDependencies: '@types/node': specifier: ^24.0.0 @@ -904,43 +904,43 @@ importers: version: 0.5.0 '@agentclientprotocol/claude-agent-acp': specifier: 0.73.0 - version: 0.73.0(patch_hash=syoits7l7g3sthy3olttp2fv24)(@anthropic-ai/sdk@0.129.0(zod@4.4.3))(@modelcontextprotocol/sdk@1.31.0(zod@4.4.3)) + version: 0.73.0(patch_hash=syoits7l7g3sthy3olttp2fv24)(@anthropic-ai/sdk@0.129.0(zod@4.6.7))(@modelcontextprotocol/sdk@1.31.0(zod@4.6.7)) '@agentclientprotocol/codex-acp': specifier: 1.6.2 version: 1.6.2(patch_hash=2iynuypg76nxmydiylgtffhr7e) '@ai-sdk/amazon-bedrock': specifier: 5.0.113 - version: 5.0.113(zod@4.4.3) + version: 5.0.113(zod@4.6.7) '@ai-sdk/anthropic': specifier: 4.0.78 - version: 4.0.78(zod@4.4.3) + version: 4.0.78(zod@4.6.7) '@ai-sdk/google': specifier: 4.0.93 - version: 4.0.93(zod@4.4.3) + version: 4.0.93(zod@4.6.7) '@ai-sdk/openai': specifier: 4.0.86 - version: 4.0.86(zod@4.4.3) + version: 4.0.86(zod@4.6.7) '@ai-sdk/xai': specifier: 5.0.20 - version: 5.0.20(zod@4.4.3) + version: 5.0.20(zod@4.6.7) '@aws-sdk/client-s3': specifier: ^3.1141.0 version: 3.1141.0 '@chat-adapter/discord': specifier: 4.39.0 - version: 4.39.0(patch_hash=nywlhls7dd4npegrgax7jqdbxa)(ai@7.0.130(zod@4.4.3))(zod@4.4.3) + version: 4.39.0(patch_hash=nywlhls7dd4npegrgax7jqdbxa)(ai@7.0.130(zod@4.6.7))(zod@4.6.7) '@chat-adapter/github': specifier: 4.39.0 - version: 4.39.0(patch_hash=x25bk7vvljpm57viwan5qoaddi)(ai@7.0.130(zod@4.4.3))(zod@4.4.3) + version: 4.39.0(patch_hash=x25bk7vvljpm57viwan5qoaddi)(ai@7.0.130(zod@4.6.7))(zod@4.6.7) '@chat-adapter/slack': specifier: 4.39.0 - version: 4.39.0(patch_hash=226jj24akljccsfbw7bcxujz4u)(ai@7.0.130(zod@4.4.3))(zod@4.4.3) + version: 4.39.0(patch_hash=226jj24akljccsfbw7bcxujz4u)(ai@7.0.130(zod@4.6.7))(zod@4.6.7) '@chat-adapter/teams': specifier: 4.39.0 - version: 4.39.0(patch_hash=jfm44m5wrw3jrn2jijafzk7s5a)(ai@7.0.130(zod@4.4.3))(zod@4.4.3) + version: 4.39.0(patch_hash=jfm44m5wrw3jrn2jijafzk7s5a)(ai@7.0.130(zod@4.6.7))(zod@4.6.7) '@chat-adapter/telegram': specifier: 4.39.0 - version: 4.39.0(patch_hash=wl4uiwewrapxf5u6ksnm7elv44)(ai@7.0.130(zod@4.4.3))(zod@4.4.3) + version: 4.39.0(patch_hash=wl4uiwewrapxf5u6ksnm7elv44)(ai@7.0.130(zod@4.6.7))(zod@4.6.7) '@discordjs/ws': specifier: 1.2.3 version: 1.2.3(patch_hash=vbylpnnxt5av2zdnuqmf6hjyjy) @@ -949,10 +949,10 @@ importers: version: 1.14.5 '@modelcontextprotocol/sdk': specifier: ^1.31.0 - version: 1.31.0(zod@4.4.3) + version: 1.31.0(zod@4.6.7) '@openrouter/ai-sdk-provider': specifier: 3.1.0 - version: 3.1.0(ai@7.0.130(zod@4.4.3))(zod@4.4.3) + version: 3.1.0(ai@7.0.130(zod@4.6.7))(zod@4.6.7) '@opentelemetry/api': specifier: ^1.9.0 version: 1.9.1 @@ -1015,7 +1015,7 @@ importers: version: 2.2.0(@grpc/grpc-js@1.14.5)(nice-grpc-common@2.0.4)(nice-grpc@2.1.17) '@vercel/connect': specifier: 2.3.3 - version: 2.3.3(@chat-adapter/slack@4.39.0(patch_hash=226jj24akljccsfbw7bcxujz4u)(ai@7.0.130(zod@4.4.3))(zod@4.4.3))(@modelcontextprotocol/sdk@1.31.0(zod@4.4.3))(ai@7.0.130(zod@4.4.3))(better-auth@1.7.2(@opentelemetry/api@1.9.1)(drizzle-kit@0.31.11)(drizzle-orm@0.45.2(@opentelemetry/api@1.9.1)(kysely@0.29.5)(pg@8.18.0)(postgres@3.4.9(patch_hash=6q4cic6qawywsyeo2spgnjamda)))(pg@8.18.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(vitest@5.0.3(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(jsdom@30.0.1(@noble/hashes@2.4.0))(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)))) + version: 2.3.3(@chat-adapter/slack@4.39.0(patch_hash=226jj24akljccsfbw7bcxujz4u)(ai@7.0.130(zod@4.6.7))(zod@4.6.7))(@modelcontextprotocol/sdk@1.31.0(zod@4.6.7))(ai@7.0.130(zod@4.6.7))(better-auth@1.7.2(@opentelemetry/api@1.9.1)(drizzle-kit@0.31.11)(drizzle-orm@0.45.2(@opentelemetry/api@1.9.1)(kysely@0.29.5)(pg@8.18.0)(postgres@3.4.9(patch_hash=6q4cic6qawywsyeo2spgnjamda)))(pg@8.18.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(vitest@5.0.3(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(jsdom@30.0.1(@noble/hashes@2.4.0))(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)))) acorn: specifier: 8.18.0 version: 8.18.0 @@ -1024,7 +1024,7 @@ importers: version: 0.13.1(patch_hash=ujlgpkxl4mvt34bejc3uxyvthq) ai: specifier: 7.0.130 - version: 7.0.130(zod@4.4.3) + version: 7.0.130(zod@4.6.7) ajv: specifier: ^8.20.0 version: 8.20.0 @@ -1036,7 +1036,7 @@ importers: version: 1.7.2(@opentelemetry/api@1.9.1)(drizzle-kit@0.31.11)(drizzle-orm@0.45.2(@opentelemetry/api@1.9.1)(kysely@0.29.5)(pg@8.18.0)(postgres@3.4.9(patch_hash=6q4cic6qawywsyeo2spgnjamda)))(pg@8.18.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(vitest@5.0.3(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(jsdom@30.0.1(@noble/hashes@2.4.0))(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))) chat: specifier: 4.39.0 - version: 4.39.0(ai@7.0.130(zod@4.4.3))(zod@4.4.3) + version: 4.39.0(ai@7.0.130(zod@4.6.7))(zod@4.6.7) chokidar: specifier: ^5.0.0 version: 5.0.0 @@ -1113,8 +1113,8 @@ importers: specifier: ^8.22.0 version: 8.22.0 zod: - specifier: ^4.4.3 - version: 4.4.3 + specifier: ^4.6.6 + version: 4.6.7 optionalDependencies: '@github/copilot-darwin-arm64': specifier: 1.0.88 @@ -1191,7 +1191,7 @@ importers: dependencies: '@assistant-ui/react': specifier: 0.15.22 - version: 0.15.22(@opentelemetry/api@1.9.1)(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(ai@7.0.130(zod@4.6.5))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(use-sync-external-store@1.7.0(react@19.2.8)) + version: 0.15.22(@opentelemetry/api@1.9.1)(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(ai@7.0.130(zod@4.6.7))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(use-sync-external-store@1.7.0(react@19.2.8)) '@base-ui/react': specifier: ^1.7.0 version: 1.7.0(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) @@ -9367,8 +9367,8 @@ packages: zod@4.4.3: resolution: {integrity: sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==} - zod@4.6.5: - resolution: {integrity: sha512-v5l/aFXZQeai4awLbOpSoHecE9UiMrnfx75tEXLjNonXVARxQ5mOeipTjROUchszUNCqnE+hqAMujRsRHsut2Q==} + zod@4.6.7: + resolution: {integrity: sha512-g8W2D2kU6a8untc053fX1uVBKzM7yqAxW/3zwk83+6RyF2+SKOuV+c0wBDhUwzV1PaGapmZH+rmcUzPf+3CGwg==} zustand@5.0.15: resolution: {integrity: sha512-MpSEjRiBkA9crSYeOUH32rJC7SVqAbm0Fqcqge/bUi2PPoLcBWKOsG+C8mevmpr8TwXHBVkChbbJiyvkE+i/3A==} @@ -9401,19 +9401,10 @@ snapshots: '@adobe/css-tools@4.5.0': {} - '@agentclientprotocol/claude-agent-acp@0.73.0(patch_hash=syoits7l7g3sthy3olttp2fv24)(@anthropic-ai/sdk@0.129.0(zod@4.4.3))(@modelcontextprotocol/sdk@1.31.0(zod@4.4.3))': + '@agentclientprotocol/claude-agent-acp@0.73.0(patch_hash=syoits7l7g3sthy3olttp2fv24)(@anthropic-ai/sdk@0.129.0(zod@4.6.7))(@modelcontextprotocol/sdk@1.31.0(zod@4.6.7))': dependencies: '@agentclientprotocol/sdk': 1.4.0(zod@4.4.3) - '@anthropic-ai/claude-agent-sdk': 0.3.286(@anthropic-ai/sdk@0.129.0(zod@4.4.3))(@modelcontextprotocol/sdk@1.31.0(zod@4.4.3))(zod@4.4.3) - zod: 4.4.3 - transitivePeerDependencies: - - '@anthropic-ai/sdk' - - '@modelcontextprotocol/sdk' - - '@agentclientprotocol/claude-agent-acp@0.73.0(patch_hash=syoits7l7g3sthy3olttp2fv24)(@anthropic-ai/sdk@0.129.0(zod@4.6.5))(@modelcontextprotocol/sdk@1.31.0(zod@4.6.5))': - dependencies: - '@agentclientprotocol/sdk': 1.4.0(zod@4.4.3) - '@anthropic-ai/claude-agent-sdk': 0.3.286(@anthropic-ai/sdk@0.129.0(zod@4.6.5))(@modelcontextprotocol/sdk@1.31.0(zod@4.6.5))(zod@4.4.3) + '@anthropic-ai/claude-agent-sdk': 0.3.286(@anthropic-ai/sdk@0.129.0(zod@4.6.7))(@modelcontextprotocol/sdk@1.31.0(zod@4.6.7))(zod@4.4.3) zod: 4.4.3 transitivePeerDependencies: - '@anthropic-ai/sdk' @@ -9436,83 +9427,69 @@ snapshots: dependencies: zod: 4.4.3 - '@ai-sdk/amazon-bedrock@5.0.113(zod@4.4.3)': + '@agentclientprotocol/sdk@1.4.0(zod@4.6.7)': dependencies: - '@ai-sdk/anthropic': 4.0.78(zod@4.4.3) - '@ai-sdk/openai': 4.0.91(zod@4.4.3) + zod: 4.6.7 + + '@ai-sdk/amazon-bedrock@5.0.113(zod@4.6.7)': + dependencies: + '@ai-sdk/anthropic': 4.0.78(zod@4.6.7) + '@ai-sdk/openai': 4.0.91(zod@4.6.7) '@ai-sdk/provider': 4.0.26 - '@ai-sdk/provider-utils': 5.0.58(zod@4.4.3) + '@ai-sdk/provider-utils': 5.0.58(zod@4.6.7) '@smithy/eventstream-codec': 4.5.2 '@smithy/util-utf8': 4.5.2 aws4fetch: 1.0.20 - zod: 4.4.3 + zod: 4.6.7 - '@ai-sdk/anthropic@4.0.78(zod@4.4.3)': + '@ai-sdk/anthropic@4.0.78(zod@4.6.7)': dependencies: '@ai-sdk/provider': 4.0.26 - '@ai-sdk/provider-utils': 5.0.58(zod@4.4.3) - zod: 4.4.3 + '@ai-sdk/provider-utils': 5.0.58(zod@4.6.7) + zod: 4.6.7 - '@ai-sdk/gateway@4.0.106(zod@4.4.3)': + '@ai-sdk/gateway@4.0.106(zod@4.6.7)': dependencies: '@ai-sdk/provider': 4.0.24 - '@ai-sdk/provider-utils': 5.0.56(zod@4.4.3) + '@ai-sdk/provider-utils': 5.0.56(zod@4.6.7) '@vercel/oidc': 3.2.0 - zod: 4.4.3 + zod: 4.6.7 - '@ai-sdk/gateway@4.0.106(zod@4.6.5)': - dependencies: - '@ai-sdk/provider': 4.0.24 - '@ai-sdk/provider-utils': 5.0.56(zod@4.6.5) - '@vercel/oidc': 3.2.0 - zod: 4.6.5 - optional: true - - '@ai-sdk/google@4.0.93(zod@4.4.3)': + '@ai-sdk/google@4.0.93(zod@4.6.7)': dependencies: '@ai-sdk/provider': 4.0.26 - '@ai-sdk/provider-utils': 5.0.58(zod@4.4.3) - zod: 4.4.3 + '@ai-sdk/provider-utils': 5.0.58(zod@4.6.7) + zod: 4.6.7 - '@ai-sdk/openai@4.0.86(zod@4.4.3)': + '@ai-sdk/openai@4.0.86(zod@4.6.7)': dependencies: '@ai-sdk/provider': 4.0.24 - '@ai-sdk/provider-utils': 5.0.56(zod@4.4.3) - zod: 4.4.3 + '@ai-sdk/provider-utils': 5.0.56(zod@4.6.7) + zod: 4.6.7 - '@ai-sdk/openai@4.0.91(zod@4.4.3)': + '@ai-sdk/openai@4.0.91(zod@4.6.7)': dependencies: '@ai-sdk/provider': 4.0.26 - '@ai-sdk/provider-utils': 5.0.58(zod@4.4.3) - zod: 4.4.3 + '@ai-sdk/provider-utils': 5.0.58(zod@4.6.7) + zod: 4.6.7 - '@ai-sdk/provider-utils@5.0.56(zod@4.4.3)': + '@ai-sdk/provider-utils@5.0.56(zod@4.6.7)': dependencies: '@ai-sdk/provider': 4.0.24 '@standard-schema/spec': 1.1.0 '@workflow/serde': 4.1.0 eventsource-parser: 3.1.1 undici: 7.30.0 - zod: 4.4.3 + zod: 4.6.7 - '@ai-sdk/provider-utils@5.0.56(zod@4.6.5)': - dependencies: - '@ai-sdk/provider': 4.0.24 - '@standard-schema/spec': 1.1.0 - '@workflow/serde': 4.1.0 - eventsource-parser: 3.1.1 - undici: 7.30.0 - zod: 4.6.5 - optional: true - - '@ai-sdk/provider-utils@5.0.58(zod@4.4.3)': + '@ai-sdk/provider-utils@5.0.58(zod@4.6.7)': dependencies: '@ai-sdk/provider': 4.0.26 '@standard-schema/spec': 1.1.0 '@workflow/serde': 4.1.0 eventsource-parser: 3.1.1 undici: 7.30.0 - zod: 4.4.3 + zod: 4.6.7 '@ai-sdk/provider@4.0.24': dependencies: @@ -9522,11 +9499,11 @@ snapshots: dependencies: json-schema: 0.4.0 - '@ai-sdk/xai@5.0.20(zod@4.4.3)': + '@ai-sdk/xai@5.0.20(zod@4.6.7)': dependencies: '@ai-sdk/provider': 4.0.26 - '@ai-sdk/provider-utils': 5.0.58(zod@4.4.3) - zod: 4.4.3 + '@ai-sdk/provider-utils': 5.0.58(zod@4.6.7) + zod: 4.6.7 '@antfu/install-pkg@2.1.0': dependencies: @@ -9557,10 +9534,10 @@ snapshots: '@anthropic-ai/claude-agent-sdk-win32-x64@0.3.286': optional: true - '@anthropic-ai/claude-agent-sdk@0.3.286(@anthropic-ai/sdk@0.129.0(zod@4.4.3))(@modelcontextprotocol/sdk@1.31.0(zod@4.4.3))(zod@4.4.3)': + '@anthropic-ai/claude-agent-sdk@0.3.286(@anthropic-ai/sdk@0.129.0(zod@4.6.7))(@modelcontextprotocol/sdk@1.31.0(zod@4.6.7))(zod@4.4.3)': dependencies: - '@anthropic-ai/sdk': 0.129.0(zod@4.4.3) - '@modelcontextprotocol/sdk': 1.31.0(zod@4.4.3) + '@anthropic-ai/sdk': 0.129.0(zod@4.6.7) + '@modelcontextprotocol/sdk': 1.31.0(zod@4.6.7) zod: 4.4.3 optionalDependencies: '@anthropic-ai/claude-agent-sdk-darwin-arm64': 0.3.286 @@ -9572,34 +9549,12 @@ snapshots: '@anthropic-ai/claude-agent-sdk-win32-arm64': 0.3.286 '@anthropic-ai/claude-agent-sdk-win32-x64': 0.3.286 - '@anthropic-ai/claude-agent-sdk@0.3.286(@anthropic-ai/sdk@0.129.0(zod@4.6.5))(@modelcontextprotocol/sdk@1.31.0(zod@4.6.5))(zod@4.4.3)': - dependencies: - '@anthropic-ai/sdk': 0.129.0(zod@4.6.5) - '@modelcontextprotocol/sdk': 1.31.0(zod@4.6.5) - zod: 4.4.3 - optionalDependencies: - '@anthropic-ai/claude-agent-sdk-darwin-arm64': 0.3.286 - '@anthropic-ai/claude-agent-sdk-darwin-x64': 0.3.286 - '@anthropic-ai/claude-agent-sdk-linux-arm64': 0.3.286 - '@anthropic-ai/claude-agent-sdk-linux-arm64-musl': 0.3.286 - '@anthropic-ai/claude-agent-sdk-linux-x64': 0.3.286 - '@anthropic-ai/claude-agent-sdk-linux-x64-musl': 0.3.286 - '@anthropic-ai/claude-agent-sdk-win32-arm64': 0.3.286 - '@anthropic-ai/claude-agent-sdk-win32-x64': 0.3.286 - - '@anthropic-ai/sdk@0.129.0(zod@4.4.3)': + '@anthropic-ai/sdk@0.129.0(zod@4.6.7)': dependencies: json-schema-to-ts: 3.1.1 standardwebhooks: 1.1.1 optionalDependencies: - zod: 4.4.3 - - '@anthropic-ai/sdk@0.129.0(zod@4.6.5)': - dependencies: - json-schema-to-ts: 3.1.1 - standardwebhooks: 1.1.1 - optionalDependencies: - zod: 4.6.5 + zod: 4.6.7 '@asamuzakjp/css-color@6.0.7': dependencies: @@ -9616,7 +9571,7 @@ snapshots: is-potential-custom-element-name: 1.0.1 lru-cache: 11.5.2 - '@assistant-ui/core@0.3.22(@assistant-ui/store@0.3.16(@assistant-ui/tap@0.9.20(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8))(@assistant-ui/tap@0.9.20(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(assistant-cloud@0.2.4(@opentelemetry/api@1.9.1)(ai@7.0.130(zod@4.6.5)))(react@19.2.8)': + '@assistant-ui/core@0.3.22(@assistant-ui/store@0.3.16(@assistant-ui/tap@0.9.20(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8))(@assistant-ui/tap@0.9.20(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(assistant-cloud@0.2.4(@opentelemetry/api@1.9.1)(ai@7.0.130(zod@4.6.7)))(react@19.2.8)': dependencies: '@assistant-ui/store': 0.3.16(@assistant-ui/tap@0.9.20(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8) '@assistant-ui/tap': 0.9.20(@types/react@19.2.18)(react@19.2.8) @@ -9624,25 +9579,25 @@ snapshots: nanoid: 6.0.1 optionalDependencies: '@types/react': 19.2.18 - assistant-cloud: 0.2.4(@opentelemetry/api@1.9.1)(ai@7.0.130(zod@4.6.5)) + assistant-cloud: 0.2.4(@opentelemetry/api@1.9.1)(ai@7.0.130(zod@4.6.7)) react: 19.2.8 transitivePeerDependencies: - ioredis - redis - '@assistant-ui/react@0.15.22(@opentelemetry/api@1.9.1)(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(ai@7.0.130(zod@4.6.5))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(use-sync-external-store@1.7.0(react@19.2.8))': + '@assistant-ui/react@0.15.22(@opentelemetry/api@1.9.1)(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(ai@7.0.130(zod@4.6.7))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(use-sync-external-store@1.7.0(react@19.2.8))': dependencies: - '@assistant-ui/core': 0.3.22(@assistant-ui/store@0.3.16(@assistant-ui/tap@0.9.20(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8))(@assistant-ui/tap@0.9.20(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(assistant-cloud@0.2.4(@opentelemetry/api@1.9.1)(ai@7.0.130(zod@4.6.5)))(react@19.2.8) + '@assistant-ui/core': 0.3.22(@assistant-ui/store@0.3.16(@assistant-ui/tap@0.9.20(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8))(@assistant-ui/tap@0.9.20(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(assistant-cloud@0.2.4(@opentelemetry/api@1.9.1)(ai@7.0.130(zod@4.6.7)))(react@19.2.8) '@assistant-ui/store': 0.3.16(@assistant-ui/tap@0.9.20(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8) '@assistant-ui/tap': 0.9.20(@types/react@19.2.18)(react@19.2.8) - assistant-cloud: 0.2.4(@opentelemetry/api@1.9.1)(ai@7.0.130(zod@4.6.5)) + assistant-cloud: 0.2.4(@opentelemetry/api@1.9.1)(ai@7.0.130(zod@4.6.7)) assistant-stream: 0.3.46 radix-ui: 1.6.7(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) react: 19.2.8 react-dom: 19.2.8(react@19.2.8) react-textarea-autosize: 8.5.9(@types/react@19.2.18)(react@19.2.8) safe-content-frame: 0.0.31 - zod: 4.6.5 + zod: 4.6.7 zustand: 5.0.15(@types/react@19.2.18)(react@19.2.8)(use-sync-external-store@1.7.0(react@19.2.8)) optionalDependencies: '@types/react': 19.2.18 @@ -9978,52 +9933,52 @@ snapshots: optionalDependencies: '@types/react': 19.2.18 - '@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3)': + '@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.4.0(zod@4.6.7))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3)': dependencies: '@better-auth/utils': 0.4.2 '@better-fetch/fetch': 1.3.1 '@opentelemetry/semantic-conventions': 1.43.0 '@standard-schema/spec': 1.1.0 - better-call: 1.4.0(zod@4.4.3) + better-call: 1.4.0(zod@4.6.7) jose: 6.2.10 kysely: 0.29.5 nanostores: 1.5.3 - zod: 4.4.3 + zod: 4.6.7 optionalDependencies: '@opentelemetry/api': 1.9.1 - '@better-auth/drizzle-adapter@1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2)(drizzle-orm@0.45.2(@opentelemetry/api@1.9.1)(kysely@0.29.5)(pg@8.18.0)(postgres@3.4.9(patch_hash=6q4cic6qawywsyeo2spgnjamda)))': + '@better-auth/drizzle-adapter@1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.4.0(zod@4.6.7))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2)(drizzle-orm@0.45.2(@opentelemetry/api@1.9.1)(kysely@0.29.5)(pg@8.18.0)(postgres@3.4.9(patch_hash=6q4cic6qawywsyeo2spgnjamda)))': dependencies: - '@better-auth/core': 1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3) + '@better-auth/core': 1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.4.0(zod@4.6.7))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3) '@better-auth/utils': 0.4.2 optionalDependencies: drizzle-orm: 0.45.2(@opentelemetry/api@1.9.1)(kysely@0.29.5)(pg@8.18.0)(postgres@3.4.9(patch_hash=6q4cic6qawywsyeo2spgnjamda)) - '@better-auth/kysely-adapter@1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2)(kysely@0.29.5)': + '@better-auth/kysely-adapter@1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.4.0(zod@4.6.7))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2)(kysely@0.29.5)': dependencies: - '@better-auth/core': 1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3) + '@better-auth/core': 1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.4.0(zod@4.6.7))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3) '@better-auth/utils': 0.4.2 optionalDependencies: kysely: 0.29.5 - '@better-auth/memory-adapter@1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2)': + '@better-auth/memory-adapter@1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.4.0(zod@4.6.7))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2)': dependencies: - '@better-auth/core': 1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3) + '@better-auth/core': 1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.4.0(zod@4.6.7))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3) '@better-auth/utils': 0.4.2 - '@better-auth/mongo-adapter@1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2)': + '@better-auth/mongo-adapter@1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.4.0(zod@4.6.7))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2)': dependencies: - '@better-auth/core': 1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3) + '@better-auth/core': 1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.4.0(zod@4.6.7))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3) '@better-auth/utils': 0.4.2 - '@better-auth/prisma-adapter@1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2)': + '@better-auth/prisma-adapter@1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.4.0(zod@4.6.7))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2)': dependencies: - '@better-auth/core': 1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3) + '@better-auth/core': 1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.4.0(zod@4.6.7))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3) '@better-auth/utils': 0.4.2 - '@better-auth/telemetry@1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)': + '@better-auth/telemetry@1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.4.0(zod@4.6.7))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)': dependencies: - '@better-auth/core': 1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3) + '@better-auth/core': 1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.4.0(zod@4.6.7))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3) '@better-auth/utils': 0.4.2 '@better-fetch/fetch': 1.3.1 @@ -10047,10 +10002,10 @@ snapshots: '@bufbuild/protobuf@2.16.0': {} - '@chat-adapter/discord@4.39.0(patch_hash=nywlhls7dd4npegrgax7jqdbxa)(ai@7.0.130(zod@4.4.3))(zod@4.4.3)': + '@chat-adapter/discord@4.39.0(patch_hash=nywlhls7dd4npegrgax7jqdbxa)(ai@7.0.130(zod@4.6.7))(zod@4.6.7)': dependencies: - '@chat-adapter/shared': 4.39.0(ai@7.0.130(zod@4.4.3))(zod@4.4.3) - chat: 4.39.0(ai@7.0.130(zod@4.4.3))(zod@4.4.3) + '@chat-adapter/shared': 4.39.0(ai@7.0.130(zod@4.6.7))(zod@4.6.7) + chat: 4.39.0(ai@7.0.130(zod@4.6.7))(zod@4.6.7) discord-api-types: 0.37.120 discord-interactions: 4.4.0 discord.js: 14.27.0 @@ -10062,33 +10017,33 @@ snapshots: - workflow - zod - '@chat-adapter/github@4.39.0(patch_hash=x25bk7vvljpm57viwan5qoaddi)(ai@7.0.130(zod@4.4.3))(zod@4.4.3)': + '@chat-adapter/github@4.39.0(patch_hash=x25bk7vvljpm57viwan5qoaddi)(ai@7.0.130(zod@4.6.7))(zod@4.6.7)': dependencies: - '@chat-adapter/shared': 4.39.0(ai@7.0.130(zod@4.4.3))(zod@4.4.3) + '@chat-adapter/shared': 4.39.0(ai@7.0.130(zod@4.6.7))(zod@4.6.7) '@octokit/auth-app': 8.3.1 '@octokit/rest': 22.0.1 - chat: 4.39.0(ai@7.0.130(zod@4.4.3))(zod@4.4.3) + chat: 4.39.0(ai@7.0.130(zod@4.6.7))(zod@4.6.7) transitivePeerDependencies: - ai - supports-color - workflow - zod - '@chat-adapter/shared@4.39.0(ai@7.0.130(zod@4.4.3))(zod@4.4.3)': + '@chat-adapter/shared@4.39.0(ai@7.0.130(zod@4.6.7))(zod@4.6.7)': dependencies: - chat: 4.39.0(ai@7.0.130(zod@4.4.3))(zod@4.4.3) + chat: 4.39.0(ai@7.0.130(zod@4.6.7))(zod@4.6.7) transitivePeerDependencies: - ai - supports-color - workflow - zod - '@chat-adapter/slack@4.39.0(patch_hash=226jj24akljccsfbw7bcxujz4u)(ai@7.0.130(zod@4.4.3))(zod@4.4.3)': + '@chat-adapter/slack@4.39.0(patch_hash=226jj24akljccsfbw7bcxujz4u)(ai@7.0.130(zod@4.6.7))(zod@4.6.7)': dependencies: - '@chat-adapter/shared': 4.39.0(ai@7.0.130(zod@4.4.3))(zod@4.4.3) + '@chat-adapter/shared': 4.39.0(ai@7.0.130(zod@4.6.7))(zod@4.6.7) '@slack/socket-mode': 2.0.7 '@slack/web-api': 7.19.0 - chat: 4.39.0(ai@7.0.130(zod@4.4.3))(zod@4.4.3) + chat: 4.39.0(ai@7.0.130(zod@4.6.7))(zod@4.6.7) transitivePeerDependencies: - ai - bufferutil @@ -10098,14 +10053,14 @@ snapshots: - workflow - zod - '@chat-adapter/teams@4.39.0(patch_hash=jfm44m5wrw3jrn2jijafzk7s5a)(ai@7.0.130(zod@4.4.3))(zod@4.4.3)': + '@chat-adapter/teams@4.39.0(patch_hash=jfm44m5wrw3jrn2jijafzk7s5a)(ai@7.0.130(zod@4.6.7))(zod@4.6.7)': dependencies: - '@chat-adapter/shared': 4.39.0(ai@7.0.130(zod@4.4.3))(zod@4.4.3) + '@chat-adapter/shared': 4.39.0(ai@7.0.130(zod@4.6.7))(zod@4.6.7) '@microsoft/teams.api': 2.0.16 '@microsoft/teams.apps': 2.0.16 '@microsoft/teams.cards': 2.0.16 '@microsoft/teams.graph-endpoints': 2.0.16 - chat: 4.39.0(ai@7.0.130(zod@4.4.3))(zod@4.4.3) + chat: 4.39.0(ai@7.0.130(zod@4.6.7))(zod@4.6.7) transitivePeerDependencies: - ai - debug @@ -10113,10 +10068,10 @@ snapshots: - workflow - zod - '@chat-adapter/telegram@4.39.0(patch_hash=wl4uiwewrapxf5u6ksnm7elv44)(ai@7.0.130(zod@4.4.3))(zod@4.4.3)': + '@chat-adapter/telegram@4.39.0(patch_hash=wl4uiwewrapxf5u6ksnm7elv44)(ai@7.0.130(zod@4.6.7))(zod@4.6.7)': dependencies: - '@chat-adapter/shared': 4.39.0(ai@7.0.130(zod@4.4.3))(zod@4.4.3) - chat: 4.39.0(ai@7.0.130(zod@4.4.3))(zod@4.4.3) + '@chat-adapter/shared': 4.39.0(ai@7.0.130(zod@4.6.7))(zod@4.6.7) + chat: 4.39.0(ai@7.0.130(zod@4.6.7))(zod@4.6.7) transitivePeerDependencies: - ai - supports-color @@ -11549,7 +11504,7 @@ snapshots: - debug - supports-color - '@modelcontextprotocol/sdk@1.31.0(zod@4.4.3)': + '@modelcontextprotocol/sdk@1.31.0(zod@4.6.7)': dependencies: '@hono/node-server': 2.1.3(hono@4.13.13) ajv: 8.20.0 @@ -11566,30 +11521,8 @@ snapshots: json-schema-typed: 8.0.2 pkce-challenge: 5.0.1 raw-body: 3.0.2 - zod: 4.4.3 - zod-to-json-schema: 3.25.2(zod@4.4.3) - transitivePeerDependencies: - - supports-color - - '@modelcontextprotocol/sdk@1.31.0(zod@4.6.5)': - dependencies: - '@hono/node-server': 2.1.3(hono@4.13.13) - ajv: 8.20.0 - ajv-formats: 3.0.1(ajv@8.20.0) - content-type: 1.0.5 - cors: 2.8.6 - cross-spawn: 7.0.6 - eventsource: 3.0.7 - eventsource-parser: 3.1.1 - express: 5.2.1 - express-rate-limit: 8.7.1(express@5.2.1) - hono: 4.13.13 - jose: 6.2.12 - json-schema-typed: 8.0.2 - pkce-challenge: 5.0.1 - raw-body: 3.0.2 - zod: 4.6.5 - zod-to-json-schema: 3.25.2(zod@4.6.5) + zod: 4.6.7 + zod-to-json-schema: 3.25.2(zod@4.6.7) transitivePeerDependencies: - supports-color @@ -11755,10 +11688,10 @@ snapshots: '@openai/codex@0.160.0-win32-x64': optional: true - '@openrouter/ai-sdk-provider@3.1.0(ai@7.0.130(zod@4.4.3))(zod@4.4.3)': + '@openrouter/ai-sdk-provider@3.1.0(ai@7.0.130(zod@4.6.7))(zod@4.6.7)': dependencies: - ai: 7.0.130(zod@4.4.3) - zod: 4.4.3 + ai: 7.0.130(zod@4.6.7) + zod: 4.6.7 '@opentelemetry/api-logs@0.221.0': dependencies: @@ -13865,13 +13798,13 @@ snapshots: dependencies: execa: 5.1.1 - '@vercel/connect@2.3.3(@chat-adapter/slack@4.39.0(patch_hash=226jj24akljccsfbw7bcxujz4u)(ai@7.0.130(zod@4.4.3))(zod@4.4.3))(@modelcontextprotocol/sdk@1.31.0(zod@4.4.3))(ai@7.0.130(zod@4.4.3))(better-auth@1.7.2(@opentelemetry/api@1.9.1)(drizzle-kit@0.31.11)(drizzle-orm@0.45.2(@opentelemetry/api@1.9.1)(kysely@0.29.5)(pg@8.18.0)(postgres@3.4.9(patch_hash=6q4cic6qawywsyeo2spgnjamda)))(pg@8.18.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(vitest@5.0.3(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(jsdom@30.0.1(@noble/hashes@2.4.0))(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))))': + '@vercel/connect@2.3.3(@chat-adapter/slack@4.39.0(patch_hash=226jj24akljccsfbw7bcxujz4u)(ai@7.0.130(zod@4.6.7))(zod@4.6.7))(@modelcontextprotocol/sdk@1.31.0(zod@4.6.7))(ai@7.0.130(zod@4.6.7))(better-auth@1.7.2(@opentelemetry/api@1.9.1)(drizzle-kit@0.31.11)(drizzle-orm@0.45.2(@opentelemetry/api@1.9.1)(kysely@0.29.5)(pg@8.18.0)(postgres@3.4.9(patch_hash=6q4cic6qawywsyeo2spgnjamda)))(pg@8.18.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(vitest@5.0.3(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(jsdom@30.0.1(@noble/hashes@2.4.0))(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))))': dependencies: '@vercel/oidc': 3.8.9 optionalDependencies: - '@chat-adapter/slack': 4.39.0(patch_hash=226jj24akljccsfbw7bcxujz4u)(ai@7.0.130(zod@4.4.3))(zod@4.4.3) - '@modelcontextprotocol/sdk': 1.31.0(zod@4.4.3) - ai: 7.0.130(zod@4.4.3) + '@chat-adapter/slack': 4.39.0(patch_hash=226jj24akljccsfbw7bcxujz4u)(ai@7.0.130(zod@4.6.7))(zod@4.6.7) + '@modelcontextprotocol/sdk': 1.31.0(zod@4.6.7) + ai: 7.0.130(zod@4.6.7) better-auth: 1.7.2(@opentelemetry/api@1.9.1)(drizzle-kit@0.31.11)(drizzle-orm@0.45.2(@opentelemetry/api@1.9.1)(kysely@0.29.5)(pg@8.18.0)(postgres@3.4.9(patch_hash=6q4cic6qawywsyeo2spgnjamda)))(pg@8.18.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(vitest@5.0.3(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(jsdom@30.0.1(@noble/hashes@2.4.0))(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))) '@vercel/oidc@3.2.0': {} @@ -13980,11 +13913,11 @@ snapshots: acpx@0.13.1(patch_hash=ujlgpkxl4mvt34bejc3uxyvthq): dependencies: - '@agentclientprotocol/sdk': 1.4.0(zod@4.4.3) + '@agentclientprotocol/sdk': 1.4.0(zod@4.6.7) commander: 15.0.0 skillflag: 0.2.1 tsx: 4.23.15 - zod: 4.4.3 + zod: 4.6.7 transitivePeerDependencies: - bare-abort-controller - bare-buffer @@ -14007,20 +13940,12 @@ snapshots: - bufferutil - utf-8-validate - ai@7.0.130(zod@4.4.3): + ai@7.0.130(zod@4.6.7): dependencies: - '@ai-sdk/gateway': 4.0.106(zod@4.4.3) + '@ai-sdk/gateway': 4.0.106(zod@4.6.7) '@ai-sdk/provider': 4.0.24 - '@ai-sdk/provider-utils': 5.0.56(zod@4.4.3) - zod: 4.4.3 - - ai@7.0.130(zod@4.6.5): - dependencies: - '@ai-sdk/gateway': 4.0.106(zod@4.6.5) - '@ai-sdk/provider': 4.0.24 - '@ai-sdk/provider-utils': 5.0.56(zod@4.6.5) - zod: 4.6.5 - optional: true + '@ai-sdk/provider-utils': 5.0.56(zod@4.6.7) + zod: 4.6.7 ajv-formats@3.0.1(ajv@8.20.0): optionalDependencies: @@ -14063,12 +13988,12 @@ snapshots: assertion-error@2.0.1: {} - assistant-cloud@0.2.4(@opentelemetry/api@1.9.1)(ai@7.0.130(zod@4.6.5)): + assistant-cloud@0.2.4(@opentelemetry/api@1.9.1)(ai@7.0.130(zod@4.6.7)): dependencies: assistant-stream: 0.3.46 optionalDependencies: '@opentelemetry/api': 1.9.1 - ai: 7.0.130(zod@4.6.5) + ai: 7.0.130(zod@4.6.7) transitivePeerDependencies: - ioredis - redis @@ -14151,23 +14076,23 @@ snapshots: better-auth@1.7.2(@opentelemetry/api@1.9.1)(drizzle-kit@0.31.11)(drizzle-orm@0.45.2(@opentelemetry/api@1.9.1)(kysely@0.29.5)(pg@8.18.0)(postgres@3.4.9(patch_hash=6q4cic6qawywsyeo2spgnjamda)))(pg@8.18.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(vitest@5.0.3(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(jsdom@30.0.1(@noble/hashes@2.4.0))(vite@8.2.2(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))): dependencies: - '@better-auth/core': 1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3) - '@better-auth/drizzle-adapter': 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2)(drizzle-orm@0.45.2(@opentelemetry/api@1.9.1)(kysely@0.29.5)(pg@8.18.0)(postgres@3.4.9(patch_hash=6q4cic6qawywsyeo2spgnjamda))) - '@better-auth/kysely-adapter': 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2)(kysely@0.29.5) - '@better-auth/memory-adapter': 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2) - '@better-auth/mongo-adapter': 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2) - '@better-auth/prisma-adapter': 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2) - '@better-auth/telemetry': 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.4.0(zod@4.4.3))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1) + '@better-auth/core': 1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.4.0(zod@4.6.7))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3) + '@better-auth/drizzle-adapter': 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.4.0(zod@4.6.7))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2)(drizzle-orm@0.45.2(@opentelemetry/api@1.9.1)(kysely@0.29.5)(pg@8.18.0)(postgres@3.4.9(patch_hash=6q4cic6qawywsyeo2spgnjamda))) + '@better-auth/kysely-adapter': 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.4.0(zod@4.6.7))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2)(kysely@0.29.5) + '@better-auth/memory-adapter': 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.4.0(zod@4.6.7))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2) + '@better-auth/mongo-adapter': 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.4.0(zod@4.6.7))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2) + '@better-auth/prisma-adapter': 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.4.0(zod@4.6.7))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2) + '@better-auth/telemetry': 1.7.2(@better-auth/core@1.7.2(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.4.0(zod@4.6.7))(jose@6.2.10)(kysely@0.29.5)(nanostores@1.5.3))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1) '@better-auth/utils': 0.4.2 '@better-fetch/fetch': 1.3.1 '@noble/ciphers': 2.4.0 '@noble/hashes': 2.4.0 - better-call: 1.4.0(zod@4.4.3) + better-call: 1.4.0(zod@4.6.7) defu: 6.1.7 jose: 6.2.10 kysely: 0.29.5 nanostores: 1.5.3 - zod: 4.4.3 + zod: 4.6.7 optionalDependencies: drizzle-kit: 0.31.11 drizzle-orm: 0.45.2(@opentelemetry/api@1.9.1)(kysely@0.29.5)(pg@8.18.0)(postgres@3.4.9(patch_hash=6q4cic6qawywsyeo2spgnjamda)) @@ -14179,14 +14104,14 @@ snapshots: - '@cloudflare/workers-types' - '@opentelemetry/api' - better-call@1.4.0(zod@4.4.3): + better-call@1.4.0(zod@4.6.7): dependencies: '@better-auth/utils': 0.5.0 '@better-fetch/fetch': 1.3.1 rou3: 0.9.2 set-cookie-parser: 3.1.2 optionalDependencies: - zod: 4.4.3 + zod: 4.6.7 bidi-js@1.0.3: dependencies: @@ -14271,7 +14196,7 @@ snapshots: character-reference-invalid@2.0.1: {} - chat@4.39.0(ai@7.0.130(zod@4.4.3))(zod@4.4.3): + chat@4.39.0(ai@7.0.130(zod@4.6.7))(zod@4.6.7): dependencies: '@workflow/serde': 4.1.0-beta.2 mdast-util-to-string: 4.0.0 @@ -14281,8 +14206,8 @@ snapshots: remend: 1.3.1 unified: 11.0.5 optionalDependencies: - ai: 7.0.130(zod@4.4.3) - zod: 4.4.3 + ai: 7.0.130(zod@4.6.7) + zod: 4.6.7 transitivePeerDependencies: - supports-color @@ -17885,13 +17810,9 @@ snapshots: dependencies: lib0: 0.2.117 - zod-to-json-schema@3.25.2(zod@4.4.3): + zod-to-json-schema@3.25.2(zod@4.6.7): dependencies: - zod: 4.4.3 - - zod-to-json-schema@3.25.2(zod@4.6.5): - dependencies: - zod: 4.6.5 + zod: 4.6.7 zod@3.25.76: {} @@ -17899,7 +17820,7 @@ snapshots: zod@4.4.3: {} - zod@4.6.5: {} + zod@4.6.7: {} zustand@5.0.15(@types/react@19.2.18)(react@19.2.8)(use-sync-external-store@1.7.0(react@19.2.8)): optionalDependencies: diff --git a/server/package.json b/server/package.json index 08b0f0983d4..f6d4ab6491c 100644 --- a/server/package.json +++ b/server/package.json @@ -117,7 +117,7 @@ "svix": "1.76.1", "tar-stream": "3.2.0", "ws": "^8.22.0", - "zod": "^4.4.3", + "zod": "^4.6.6", "@opentelemetry/resources": "2.10.0" }, "bundleDependencies": [