agent_patch
runs/2026-02-27__21-30-28__gpt-5-4/flux-pr-5519/flux-pr-5519.1-of-1.2026-02-27__21-30-28__gpt-5-4/agent-logs/agent.patch
6094 bytes
diff --git a/tmp/agent-patch-flux-pr-5519.1-of-1.2026-02-27__21-30-28__gpt-5-4/app/packages/docs/content/error-customization.mdx b/app/packages/docs/content/error-customization.mdx
index fe8b105..a2f3fd5 100644
--- a/tmp/agent-patch-flux-pr-5519.1-of-1.2026-02-27__21-30-28__gpt-5-4/app/packages/docs/content/error-customization.mdx
+++ b/app/packages/docs/content/error-customization.mdx
@@ -390,6 +390,7 @@ The following locales are available:
- `th` — Thai
- `tr` — Türkçe
- `uk` — Ukrainian
+- `uz` — Uzbek
- `ur` — Urdu
- `vi` — Tiếng Việt
- `zhCN` — Simplified Chinese
diff --git a/tmp/agent-patch-flux-pr-5519.1-of-1.2026-02-27__21-30-28__gpt-5-4/app/packages/zod/src/v4/locales/index.ts b/app/packages/zod/src/v4/locales/index.ts
index 9b360f8..28c2e81 100644
--- a/tmp/agent-patch-flux-pr-5519.1-of-1.2026-02-27__21-30-28__gpt-5-4/app/packages/zod/src/v4/locales/index.ts
+++ b/app/packages/zod/src/v4/locales/index.ts
@@ -40,6 +40,7 @@ export { default as th } from "./th.js";
export { default as tr } from "./tr.js";
export { default as ua } from "./ua.js";
export { default as uk } from "./uk.js";
+export { default as uz } from "./uz.js";
export { default as ur } from "./ur.js";
export { default as vi } from "./vi.js";
export { default as zhCN } from "./zh-CN.js";
diff --git a/app/packages/zod/src/v4/locales/uz.ts b/app/packages/zod/src/v4/locales/uz.ts
new file mode 100644
index 0000000..c40fe97
--- /dev/null
+++ b/app/packages/zod/src/v4/locales/uz.ts
@@ -0,0 +1,127 @@
+import type { $ZodStringFormats } from "../core/checks.js";
+import type * as errors from "../core/errors.js";
+import * as util from "../core/util.js";
+
+export const parsedType = (data: any): string => {
+ const t = typeof data;
+
+ switch (t) {
+ case "number": {
+ return Number.isNaN(data) ? "NaN" : "number";
+ }
+ case "object": {
+ if (Array.isArray(data)) {
+ return "array";
+ }
+ if (data === null) {
+ return "null";
+ }
+
+ if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {
+ return data.constructor.name;
+ }
+ }
+ }
+ return t;
+};
+
+const error: () => errors.$ZodErrorMap = () => {
+ const Sizable: Record<string, { unit: string; verb: string }> = {
+ string: { unit: "ta belgi", verb: "bo'lishi" },
+ file: { unit: "bayt", verb: "bo'lishi" },
+ array: { unit: "ta element", verb: "bo'lishi" },
+ set: { unit: "ta element", verb: "bo'lishi" },
+ map: { unit: "ta yozuv", verb: "bo'lishi" },
+ };
+
+ function getSizing(origin: string): { unit: string; verb: string } | null {
+ return Sizable[origin] ?? null;
+ }
+
+ const Nouns: {
+ [k in $ZodStringFormats | (string & {})]?: string;
+ } = {
+ regex: "kiritilgan qiymat",
+ email: "elektron pochta manzili",
+ url: "URL",
+ emoji: "emoji",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "ISO sana va vaqt",
+ date: "ISO sana",
+ time: "ISO vaqt",
+ duration: "ISO davomiylik",
+ ipv4: "IPv4 manzili",
+ ipv6: "IPv6 manzili",
+ mac: "MAC manzili",
+ cidrv4: "IPv4 diapazoni",
+ cidrv6: "IPv6 diapazoni",
+ base64: "base64-kodlangan satr",
+ base64url: "base64url-kodlangan satr",
+ json_string: "JSON satri",
+ e164: "E.164 raqami",
+ jwt: "JWT",
+ template_literal: "kiritilgan qiymat",
+ };
+
+ return (issue) => {
+ switch (issue.code) {
+ case "invalid_type":
+ return `Noto'g'ri qiymat: kutilgan ${issue.expected}, qabul qilingan ${parsedType(issue.input)}`;
+ case "invalid_value":
+ if (issue.values.length === 1)
+ return `Noto'g'ri qiymat: kutilgan ${util.stringifyPrimitive(issue.values[0])}`;
+ return `Noto'g'ri tanlov: quyidagilardan biri kutilgan ${util.joinValues(issue.values, "|")}`;
+ case "too_big": {
+ const adj = issue.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue.origin);
+ if (sizing)
+ return `Juda katta: ${issue.origin ?? "qiymat"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? "ta element"} ${sizing.verb} kerak`;
+ return `Juda katta: ${issue.origin ?? "qiymat"} ${adj}${issue.maximum.toString()} bo'lishi kerak`;
+ }
+ case "too_small": {
+ const adj = issue.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue.origin);
+ if (sizing) {
+ return `Juda kichik: ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit} ${sizing.verb} kerak`;
+ }
+
+ return `Juda kichik: ${issue.origin} ${adj}${issue.minimum.toString()} bo'lishi kerak`;
+ }
+ case "invalid_format": {
+ const _issue = issue as errors.$ZodStringFormatIssues;
+ if (_issue.format === "starts_with") return `Noto'g'ri satr: "${_issue.prefix}" bilan boshlanishi kerak`;
+ if (_issue.format === "ends_with") return `Noto'g'ri satr: "${_issue.suffix}" bilan tugashi kerak`;
+ if (_issue.format === "includes") return `Noto'g'ri satr: "${_issue.includes}" ni o'z ichiga olishi kerak`;
+ if (_issue.format === "regex") return `Noto'g'ri satr: ${_issue.pattern} andozasiga mos kelishi kerak`;
+ return `Noto'g'ri ${Nouns[_issue.format] ?? issue.format}`;
+ }
+ case "not_multiple_of":
+ return `Noto'g'ri son: ${issue.divisor} ga karrali bo'lishi kerak`;
+ case "unrecognized_keys":
+ return `Noma'lum kalit${issue.keys.length > 1 ? "lar" : ""}: ${util.joinValues(issue.keys, ", ")}`;
+ case "invalid_key":
+ return `${issue.origin} ichida noto'g'ri kalit`;
+ case "invalid_union":
+ return "Noto'g'ri qiymat";
+ case "invalid_element":
+ return `${issue.origin} ichida noto'g'ri qiymat`;
+ default:
+ return "Noto'g'ri qiymat";
+ }
+ };
+};
+
+export default function (): { localeError: errors.$ZodErrorMap } {
+ return {
+ localeError: error(),
+ };
+}