agent_patch
runs/2026-02-27__21-30-28__gpt-5-3-codex/flux-pr-5409/flux-pr-5409.1-of-1.2026-02-27__21-30-28__gpt-5-3-codex/agent-logs/agent.patch
12668 bytes
diff --git a/tmp/agent-patch-flux-pr-5409.1-of-1.2026-02-27__21-30-28__gpt-5-3-codex/app/packages/zod/src/v4/locales/he.ts b/app/packages/zod/src/v4/locales/he.ts
index d5dcc8f..7bac28a 100644
--- a/tmp/agent-patch-flux-pr-5409.1-of-1.2026-02-27__21-30-28__gpt-5-3-codex/app/packages/zod/src/v4/locales/he.ts
+++ b/app/packages/zod/src/v4/locales/he.ts
@@ -3,17 +3,77 @@ import type * as errors from "../core/errors.js";
import * as util from "../core/util.js";
const error: () => errors.$ZodErrorMap = () => {
- const Sizable: Record<string, { unit: string; verb: string }> = {
- string: { unit: "אותיות", verb: "לכלול" },
- file: { unit: "בייטים", verb: "לכלול" },
- array: { unit: "פריטים", verb: "לכלול" },
- set: { unit: "פריטים", verb: "לכלול" },
+ type Gender = "masculine" | "feminine";
+ type Label = { bare: string; definite: string; gender: Gender };
+
+ const TypeLabels: Record<string, Label> = {
+ string: { bare: "מחרוזת", definite: "המחרוזת", gender: "feminine" },
+ number: { bare: "מספר", definite: "המספר", gender: "masculine" },
+ int: { bare: "מספר שלם", definite: "המספר השלם", gender: "masculine" },
+ bigint: { bare: "מספר גדול", definite: "המספר הגדול", gender: "masculine" },
+ boolean: { bare: "ערך בוליאני", definite: "הערך הבוליאני", gender: "masculine" },
+ object: { bare: "אובייקט", definite: "האובייקט", gender: "masculine" },
+ array: { bare: "מערך", definite: "המערך", gender: "masculine" },
+ set: { bare: "קבוצה", definite: "הקבוצה", gender: "feminine" },
+ map: { bare: "מפה", definite: "המפה", gender: "feminine" },
+ record: { bare: "רשומה", definite: "הרשומה", gender: "feminine" },
+ file: { bare: "קובץ", definite: "הקובץ", gender: "masculine" },
+ date: { bare: "תאריך", definite: "התאריך", gender: "masculine" },
+ null: { bare: "null", definite: "ה-null", gender: "masculine" },
+ undefined: { bare: "undefined", definite: "ה-undefined", gender: "masculine" },
+ symbol: { bare: "symbol", definite: "ה-symbol", gender: "masculine" },
+ function: { bare: "פונקציה", definite: "הפונקציה", gender: "feminine" },
+ promise: { bare: "Promise", definite: "ה-Promise", gender: "masculine" },
+ unknown: { bare: "ערך לא ידוע", definite: "הערך הלא ידוע", gender: "masculine" },
+ never: { bare: "never", definite: "ה-never", gender: "masculine" },
+ void: { bare: "void", definite: "ה-void", gender: "masculine" },
+ nan: { bare: "NaN", definite: "ה-NaN", gender: "masculine" },
+ };
+
+ const Sizable: Record<string, { unit: string; label: Label }> = {
+ string: { unit: "תווים", label: TypeLabels.string },
+ file: { unit: "בתים", label: TypeLabels.file },
+ array: { unit: "פריטים", label: TypeLabels.array },
+ set: { unit: "פריטים", label: TypeLabels.set },
};
- function getSizing(origin: string): { unit: string; verb: string } | null {
+ function getSizing(origin: string): { unit: string; label: Label } | null {
return Sizable[origin] ?? null;
}
+ function getLabel(value: string): Label {
+ return TypeLabels[value] ?? { bare: value, definite: value, gender: "masculine" };
+ }
+
+ function invalidPredicate(gender: Gender): string {
+ return gender === "feminine" ? "אינה תקינה" : "אינו תקין";
+ }
+
+ function receivedVerb(gender: Gender): string {
+ return gender === "feminine" ? "התקבלה" : "התקבל";
+ }
+
+ function minText(value: number | bigint, inclusive?: boolean): string {
+ return inclusive ? `לפחות ${value.toString()}` : `יותר מ-${value.toString()}`;
+ }
+
+ function maxText(value: number | bigint, inclusive?: boolean): string {
+ return inclusive ? `לכל היותר ${value.toString()}` : `פחות מ-${value.toString()}`;
+ }
+
+ function originContext(origin: string): string {
+ switch (origin) {
+ case "map":
+ return "במפה";
+ case "record":
+ return "ברשומה";
+ case "set":
+ return "בקבוצה";
+ default:
+ return `ב${origin}`;
+ }
+ }
+
const parsedType = (data: any): string => {
const t = typeof data;
@@ -38,80 +98,83 @@ const error: () => errors.$ZodErrorMap = () => {
};
const Nouns: {
- [k in $ZodStringFormats | (string & {})]?: string;
+ [k in $ZodStringFormats | (string & {})]?: Label;
} = {
- regex: "קלט",
- email: "כתובת אימייל",
- url: "כתובת רשת",
- emoji: "אימוג'י",
- uuid: "UUID",
- uuidv4: "UUIDv4",
- uuidv6: "UUIDv6",
- nanoid: "nanoid",
- guid: "GUID",
- cuid: "cuid",
- cuid2: "cuid2",
- ulid: "ULID",
- xid: "XID",
- ksuid: "KSUID",
- datetime: "תאריך וזמן ISO",
- date: "תאריך ISO",
- time: "זמן ISO",
- duration: "משך זמן ISO",
- ipv4: "כתובת IPv4",
- ipv6: "כתובת IPv6",
- cidrv4: "טווח IPv4",
- cidrv6: "טווח IPv6",
- base64: "מחרוזת בבסיס 64",
- base64url: "מחרוזת בבסיס 64 לכתובות רשת",
- json_string: "מחרוזת JSON",
- e164: "מספר E.164",
- jwt: "JWT",
- template_literal: "קלט",
+ regex: { bare: "קלט", definite: "הקלט", gender: "masculine" },
+ email: { bare: "כתובת אימייל", definite: "כתובת האימייל", gender: "feminine" },
+ url: { bare: "כתובת URL", definite: "כתובת ה-URL", gender: "feminine" },
+ emoji: { bare: "אימוג'י", definite: "האימוג'י", gender: "masculine" },
+ uuid: { bare: "UUID", definite: "ה-UUID", gender: "masculine" },
+ uuidv4: { bare: "UUIDv4", definite: "ה-UUIDv4", gender: "masculine" },
+ uuidv6: { bare: "UUIDv6", definite: "ה-UUIDv6", gender: "masculine" },
+ nanoid: { bare: "nanoid", definite: "ה-nanoid", gender: "masculine" },
+ guid: { bare: "GUID", definite: "ה-GUID", gender: "masculine" },
+ cuid: { bare: "cuid", definite: "ה-cuid", gender: "masculine" },
+ cuid2: { bare: "cuid2", definite: "ה-cuid2", gender: "masculine" },
+ ulid: { bare: "ULID", definite: "ה-ULID", gender: "masculine" },
+ xid: { bare: "XID", definite: "ה-XID", gender: "masculine" },
+ ksuid: { bare: "KSUID", definite: "ה-KSUID", gender: "masculine" },
+ datetime: { bare: "תאריך וזמן ISO", definite: "תאריך וזמן ה-ISO", gender: "masculine" },
+ date: { bare: "תאריך ISO", definite: "תאריך ה-ISO", gender: "masculine" },
+ time: { bare: "זמן ISO", definite: "זמן ה-ISO", gender: "masculine" },
+ duration: { bare: "משך זמן ISO", definite: "משך זמן ה-ISO", gender: "masculine" },
+ ipv4: { bare: "כתובת IPv4", definite: "כתובת ה-IPv4", gender: "feminine" },
+ ipv6: { bare: "כתובת IPv6", definite: "כתובת ה-IPv6", gender: "feminine" },
+ cidrv4: { bare: "טווח IPv4", definite: "טווח ה-IPv4", gender: "masculine" },
+ cidrv6: { bare: "טווח IPv6", definite: "טווח ה-IPv6", gender: "masculine" },
+ base64: { bare: "מחרוזת בקידוד base64", definite: "מחרוזת ה-base64", gender: "feminine" },
+ base64url: { bare: "מחרוזת בקידוד base64url", definite: "מחרוזת ה-base64url", gender: "feminine" },
+ json_string: { bare: "מחרוזת JSON", definite: "מחרוזת ה-JSON", gender: "feminine" },
+ e164: { bare: "מספר E.164", definite: "מספר ה-E.164", gender: "masculine" },
+ jwt: { bare: "JWT", definite: "ה-JWT", gender: "masculine" },
+ template_literal: { bare: "קלט", definite: "הקלט", gender: "masculine" },
};
return (issue) => {
switch (issue.code) {
- case "invalid_type":
- return `קלט לא תקין: צריך ${issue.expected}, התקבל ${parsedType(issue.input)}`;
- // return `Invalid input: expected ${issue.expected}, received ${util.getParsedType(issue.input)}`;
+ case "invalid_type": {
+ const expected = getLabel(issue.expected as string).bare;
+ const received = getLabel(parsedType(issue.input));
+ return `קלט לא תקין: צפוי ${expected}, ${receivedVerb(received.gender)} ${received.bare}`;
+ }
case "invalid_value":
- if (issue.values.length === 1) return `קלט לא תקין: צריך ${util.stringifyPrimitive(issue.values[0])}`;
- return `קלט לא תקין: צריך אחת מהאפשרויות ${util.joinValues(issue.values, "|")}`;
+ if (issue.values.length === 1) return `ערך לא תקין: הערך חייב להיות ${util.stringifyPrimitive(issue.values[0])}`;
+ return `ערך לא תקין: הערך חייב להיות אחת מהאפשרויות הבאות: ${util.joinValues(issue.values, " | ")}`;
case "too_big": {
- const adj = issue.inclusive ? "<=" : "<";
const sizing = getSizing(issue.origin);
if (sizing)
- return `גדול מדי: ${issue.origin ?? "value"} צריך להיות ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elements"}`;
- return `גדול מדי: ${issue.origin ?? "value"} צריך להיות ${adj}${issue.maximum.toString()}`;
+ return `גדול מדי: ${sizing.label.definite} חייב${sizing.label.gender === "feminine" ? "ת" : ""} להכיל ${maxText(issue.maximum, issue.inclusive)} ${sizing.unit}`;
+ const label = getLabel(issue.origin ?? "value");
+ return `גדול מדי: ${label.definite} חייב${label.gender === "feminine" ? "ת" : ""} להיות ${maxText(issue.maximum, issue.inclusive)}`;
}
case "too_small": {
- const adj = issue.inclusive ? ">=" : ">";
const sizing = getSizing(issue.origin);
if (sizing) {
- return `קטן מדי: ${issue.origin} צריך להיות ${adj}${issue.minimum.toString()} ${sizing.unit}`;
+ return `קטן מדי: ${sizing.label.definite} חייב${sizing.label.gender === "feminine" ? "ת" : ""} להכיל ${minText(issue.minimum, issue.inclusive)} ${sizing.unit}`;
}
- return `קטן מדי: ${issue.origin} צריך להיות ${adj}${issue.minimum.toString()}`;
+ const label = getLabel(issue.origin ?? "value");
+ return `קטן מדי: ${label.definite} חייב${label.gender === "feminine" ? "ת" : ""} להיות ${minText(issue.minimum, issue.inclusive)}`;
}
case "invalid_format": {
const _issue = issue as errors.$ZodStringFormatIssues;
if (_issue.format === "starts_with") return `מחרוזת לא תקינה: חייבת להתחיל ב"${_issue.prefix}"`;
- if (_issue.format === "ends_with") return `מחרוזת לא תקינה: חייבת להסתיים ב "${_issue.suffix}"`;
+ if (_issue.format === "ends_with") return `מחרוזת לא תקינה: חייבת להסתיים ב"${_issue.suffix}"`;
if (_issue.format === "includes") return `מחרוזת לא תקינה: חייבת לכלול "${_issue.includes}"`;
if (_issue.format === "regex") return `מחרוזת לא תקינה: חייבת להתאים לתבנית ${_issue.pattern}`;
- return `${Nouns[_issue.format] ?? issue.format} לא תקין`;
+ const label = Nouns[_issue.format] ?? { bare: issue.format, definite: issue.format, gender: "masculine" };
+ return `${label.definite} ${invalidPredicate(label.gender)}`;
}
case "not_multiple_of":
return `מספר לא תקין: חייב להיות מכפלה של ${issue.divisor}`;
case "unrecognized_keys":
- return `מפתח${issue.keys.length > 1 ? "ות" : ""} לא מזוה${issue.keys.length > 1 ? "ים" : "ה"}: ${util.joinValues(issue.keys, ", ")}`;
+ return `${issue.keys.length > 1 ? "מפתחות לא מוכרים" : "מפתח לא מוכר"}: ${util.joinValues(issue.keys, ", ")}`;
case "invalid_key":
- return `מפתח לא תקין ב${issue.origin}`;
+ return `מפתח לא תקין ${originContext(issue.origin)}`;
case "invalid_union":
- return "קלט לא תקין";
+ return "קלט לא תקין: הקלט לא תואם לאף אחת מאפשרויות האיחוד";
case "invalid_element":
- return `ערך לא תקין ב${issue.origin}`;
+ return `ערך לא תקין ${originContext(issue.origin)}`;
default:
return `קלט לא תקין`;
}