STET

agent_patch

runs/2026-02-27__21-30-28__gpt-5-3-codex/flux-pr-4970/flux-pr-4970.1-of-1.2026-02-27__21-30-28__gpt-5-3-codex/agent-logs/agent.patch

6266 bytes

Back to adjudication
diff --git a/tmp/agent-patch-flux-pr-4970.1-of-1.2026-02-27__21-30-28__gpt-5-3-codex/app/packages/docs/content/api.mdx b/app/packages/docs/content/api.mdx
index 1bcb69d..c8713cb 100644
--- a/tmp/agent-patch-flux-pr-4970.1-of-1.2026-02-27__21-30-28__gpt-5-3-codex/app/packages/docs/content/api.mdx
+++ b/app/packages/docs/content/api.mdx
@@ -205,6 +205,7 @@ To perform some simple string transforms:
 <Tab value="Zod">
 ```ts
 z.string().trim(); // trim whitespace
+z.string().normalize(); // Unicode normalization
 z.string().toLowerCase(); // toLowerCase
 z.string().toUpperCase(); // toUpperCase
 ```
@@ -212,6 +213,7 @@ z.string().toUpperCase(); // toUpperCase
 <Tab value="Zod Mini">
 ```ts
 z.string().check(z.trim()); // trim whitespace
+z.string().check(z.normalize()); // Unicode normalization
 z.string().check(z.toLowerCase()); // toLowerCase
 z.string().check(z.toUpperCase()); // toUpperCase
 ```
@@ -2742,4 +2744,3 @@ const MyFunction = z.function({
 
 const computeTrimmedLength = MyFunction.implement((input) => input.trim.length);
 ```
-
diff --git a/tmp/agent-patch-flux-pr-4970.1-of-1.2026-02-27__21-30-28__gpt-5-3-codex/app/packages/zod/jsr.json b/app/packages/zod/jsr.json
index 4005c45..20e6e2a 100644
--- a/tmp/agent-patch-flux-pr-4970.1-of-1.2026-02-27__21-30-28__gpt-5-3-codex/app/packages/zod/jsr.json
+++ b/app/packages/zod/jsr.json
@@ -1,6 +1,6 @@
 {
   "name": "@zod/zod",
-  "version": "4.0.8",
+  "version": "4.0.9",
   "exports": {
     "./package.json": "./package.json",
     ".": "./src/index.ts",
diff --git a/tmp/agent-patch-flux-pr-4970.1-of-1.2026-02-27__21-30-28__gpt-5-3-codex/app/packages/zod/package.json b/app/packages/zod/package.json
index d079aab..751c4e0 100644
--- a/tmp/agent-patch-flux-pr-4970.1-of-1.2026-02-27__21-30-28__gpt-5-3-codex/app/packages/zod/package.json
+++ b/app/packages/zod/package.json
@@ -1,6 +1,6 @@
 {
   "name": "zod",
-  "version": "4.0.8",
+  "version": "4.0.9",
   "type": "module",
   "author": "Colin McDonnell <zod@colinhacks.com>",
   "description": "TypeScript-first schema declaration and validation library with static type inference",
diff --git a/tmp/agent-patch-flux-pr-4970.1-of-1.2026-02-27__21-30-28__gpt-5-3-codex/app/packages/zod/src/v4/classic/tests/literal.test.ts b/app/packages/zod/src/v4/classic/tests/literal.test.ts
index 8c48b20..0d83a42 100644
--- a/tmp/agent-patch-flux-pr-4970.1-of-1.2026-02-27__21-30-28__gpt-5-3-codex/app/packages/zod/src/v4/classic/tests/literal.test.ts
+++ b/app/packages/zod/src/v4/classic/tests/literal.test.ts
@@ -91,6 +91,10 @@ test("readonly", () => {
   z.literal(a);
 });
 
+test("literal must have at least one value", () => {
+  expect(() => z.literal([])).toThrow("`z.literal()` must be passed at least one value.");
+});
+
 test("literal pattern", () => {
   expect(z.literal(1.1)._zod.pattern).toMatchInlineSnapshot(`/\\^\\(1\\\\\\.1\\)\\$/`);
 
diff --git a/tmp/agent-patch-flux-pr-4970.1-of-1.2026-02-27__21-30-28__gpt-5-3-codex/app/packages/zod/src/v4/classic/tests/union.test.ts b/app/packages/zod/src/v4/classic/tests/union.test.ts
index f787693..56fffd5 100644
--- a/tmp/agent-patch-flux-pr-4970.1-of-1.2026-02-27__21-30-28__gpt-5-3-codex/app/packages/zod/src/v4/classic/tests/union.test.ts
+++ b/app/packages/zod/src/v4/classic/tests/union.test.ts
@@ -134,3 +134,16 @@ test("non-aborted errors", () => {
     }
   `);
 });
+
+test("multiple non-aborted union branches should report invalid_union", () => {
+  const schema = z.union([
+    z.string().refine(() => false, { error: "first branch failed" }),
+    z.string().refine(() => false, { error: "second branch failed" }),
+  ]);
+
+  const res = schema.safeParse("input");
+  expect(res.success).toBe(false);
+  if (!res.success) {
+    expect(res.error.issues[0]?.code).toBe("invalid_union");
+  }
+});
diff --git a/tmp/agent-patch-flux-pr-4970.1-of-1.2026-02-27__21-30-28__gpt-5-3-codex/app/packages/zod/src/v4/core/api.ts b/app/packages/zod/src/v4/core/api.ts
index 10cab7f..dbeb28e 100644
--- a/tmp/agent-patch-flux-pr-4970.1-of-1.2026-02-27__21-30-28__gpt-5-3-codex/app/packages/zod/src/v4/core/api.ts
+++ b/app/packages/zod/src/v4/core/api.ts
@@ -1255,9 +1255,13 @@ export function _literal<const T extends util.Literal>(
   params?: string | $ZodLiteralParams
 ): schemas.$ZodLiteral<T>;
 export function _literal(Class: util.SchemaClass<schemas.$ZodLiteral>, value: any, params: any) {
+  const values = Array.isArray(value) ? value : [value];
+  if (values.length === 0) {
+    throw new Error("`z.literal()` must be passed at least one value.");
+  }
   return new Class({
     type: "literal",
-    values: Array.isArray(value) ? value : [value],
+    values,
     ...util.normalizeParams(params),
   });
 }
diff --git a/tmp/agent-patch-flux-pr-4970.1-of-1.2026-02-27__21-30-28__gpt-5-3-codex/app/packages/zod/src/v4/core/schemas.ts b/app/packages/zod/src/v4/core/schemas.ts
index 0622c5d..710a2eb 100644
--- a/tmp/agent-patch-flux-pr-4970.1-of-1.2026-02-27__21-30-28__gpt-5-3-codex/app/packages/zod/src/v4/core/schemas.ts
+++ b/app/packages/zod/src/v4/core/schemas.ts
@@ -1911,7 +1911,7 @@ function handleUnionResults(results: ParsePayload[], final: ParsePayload, inst:
   }
 
   const nonaborted = results.filter((r) => !util.aborted(r));
-  if (nonaborted.length > 0) {
+  if (nonaborted.length === 1) {
     final.value = nonaborted[0].value;
     return nonaborted[0];
   }
@@ -2781,6 +2781,9 @@ export const $ZodLiteral: core.$constructor<$ZodLiteral> = /*@__PURE__*/ core.$c
   "$ZodLiteral",
   (inst, def) => {
     $ZodType.init(inst, def);
+    if (def.values.length === 0) {
+      throw new Error("`z.literal()` must be passed at least one value.");
+    }
 
     inst._zod.values = new Set<util.Literal>(def.values);
     inst._zod.pattern = new RegExp(
diff --git a/tmp/agent-patch-flux-pr-4970.1-of-1.2026-02-27__21-30-28__gpt-5-3-codex/app/packages/zod/src/v4/core/versions.ts b/app/packages/zod/src/v4/core/versions.ts
index ce46253..c2f6e4d 100644
--- a/tmp/agent-patch-flux-pr-4970.1-of-1.2026-02-27__21-30-28__gpt-5-3-codex/app/packages/zod/src/v4/core/versions.ts
+++ b/app/packages/zod/src/v4/core/versions.ts
@@ -1,5 +1,5 @@
 export const version = {
   major: 4,
   minor: 0,
-  patch: 8 as number,
+  patch: 9 as number,
 } as const;