@scuffi/gardener 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +17 -0
- package/assets/apps/gardener/dist/gardener_runtime/assets/anthropic-messages-CpAYOexF.js +6431 -0
- package/assets/apps/gardener/dist/gardener_runtime/assets/deferred-tools-BwNJSp7E.js +31 -0
- package/assets/apps/gardener/dist/gardener_runtime/assets/error-body-D8mmocwO.js +6744 -0
- package/assets/apps/gardener/dist/gardener_runtime/assets/hash-DAk4mnwB.js +18 -0
- package/assets/apps/gardener/dist/gardener_runtime/assets/json-parse-DCA_fvRV.js +1094 -0
- package/assets/apps/gardener/dist/gardener_runtime/assets/mimetext.node.es-XQfmuX2L.js +8403 -0
- package/assets/apps/gardener/dist/gardener_runtime/assets/openai-completions-Dg9BYhy-.js +907 -0
- package/assets/apps/gardener/dist/gardener_runtime/assets/openai-prompt-cache-IAZGhS1U.js +12 -0
- package/assets/apps/gardener/dist/gardener_runtime/assets/openai-responses-shared-BptkVdeL.js +560 -0
- package/assets/apps/gardener/dist/gardener_runtime/assets/openai-responses-vjbR2NOB.js +240 -0
- package/assets/apps/gardener/dist/gardener_runtime/assets/rolldown-runtime-7_rZTKki.js +42 -0
- package/assets/apps/gardener/dist/gardener_runtime/assets/simple-options-tFhuCUzS.js +300 -0
- package/assets/apps/gardener/dist/gardener_runtime/assets/transform-messages-B41ICucH.js +246 -0
- package/assets/apps/gardener/dist/gardener_runtime/index.js +80307 -0
- package/assets/apps/gardener/migrations/0001_actions_baseline.sql +116 -0
- package/assets/gardener-distribution.json +5 -0
- package/dist/cli.js +24719 -0
- package/dist/cli.js.map +7 -0
- package/package.json +45 -0
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/actions-installation.ts", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/classic/external.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/index.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/util.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/core.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/errors.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/parse.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/regexes.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/checks.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/doc.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/versions.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/schemas.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/memoizer.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/index.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/ar.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/az.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/be.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/bg.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/bn.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/ca.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/ckb.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/cs.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/da.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/de.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/el.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/en.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/eo.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/es.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/fa.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/fi.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/fr.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/fr-CA.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/gu.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/he.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/hi.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/hr.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/hu.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/hy.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/id.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/is.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/it.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/ja.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/ka.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/km.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/kh.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/kn.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/ko.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/lt.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/mk.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/ms.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/ne.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/nl.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/nn.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/no.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/ota.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/ps.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/pl.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/pt.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/pt-BR.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/ro.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/ru.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/sk.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/sl.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/sv.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/ta.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/tg.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/th.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/tk.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/tr.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/uk.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/ua.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/ur.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/uz.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/vi.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/zh-CN.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/zh-TW.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/yo.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/registries.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/compile.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/api.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/to-json-schema.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/json-schema-processors.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/json-schema-generator.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/json-schema.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/classic/schemas.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/classic/checks.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/classic/errors.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/classic/parse.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/classic/compat.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/classic/iso.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/classic/from-json-schema.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/visit.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/classic/deep-partial.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/classic/in-out.js", "../../../node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/classic/coerce.js", "../../contracts/src/identity.ts", "../../contracts/src/repository.ts", "../../contracts/src/operations.ts", "../../contracts/src/branches.ts", "../../contracts/src/task.ts", "../../core/src/stable.ts", "../src/actions.ts", "../../provider-github/src/permissions.ts", "../src/actions-target.ts", "../src/project.ts", "../src/task-authoring.ts", "../src/commands.ts", "../src/provision.ts", "../src/state.ts", "../src/actions-operations.ts", "../src/actions-qualify.ts", "../../protocol/src/schema.ts", "../src/args.ts", "../src/distribution.ts", "../src/terminal.ts", "../src/cli.ts"],
|
|
4
|
+
"sourcesContent": ["import { readFile, readdir, unlink } from \"node:fs/promises\";\nimport { homedir } from \"node:os\";\nimport { join, resolve } from \"node:path\";\nimport { taskBundleV1Schema } from \"@gardener/contracts\";\nimport { canonicalJson, canonicalSha256 } from \"@gardener/core\";\nimport { z } from \"zod\";\nimport { actionsEnrollmentSql } from \"./actions.js\";\nimport { compileGitHubActionsTask } from \"./actions-target.js\";\nimport { DEFAULT_WORKFLOW_REF } from \"./project.js\";\nimport { runCommand, workerOrigin, wrangler } from \"./commands.js\";\nimport { listDatabases, selectedAccountId, workerExists } from \"./provision.js\";\nimport { ensurePrivateDirectory, writePrivateJson, writePrivateText } from \"./state.js\";\n\nconst workspaceName = z.string().regex(/^[a-z0-9](?:[a-z0-9-]{0,38}[a-z0-9])?$/);\nconst repositorySlug = z.string().regex(/^[A-Za-z0-9_.-]+\\/[A-Za-z0-9_.-]+$/);\nconst sha256 = z.string().regex(/^[a-f0-9]{64}$/);\nconst TEARDOWN_INTENT_TTL_MS = 24 * 60 * 60_000;\n\nconst intentSchema = z.strictObject({\n schemaVersion: z.literal(\"gardener.actions-deploy-intent/v1\"),\n workspace: workspaceName,\n accountId: z.string().min(1),\n resources: z.strictObject({\n database: z.string().min(1),\n runtimeWorker: z.string().min(1),\n }),\n createdAt: z.string().datetime(),\n});\n\nconst teardownIntentSchema = z.strictObject({\n schemaVersion: z.literal(\"gardener.actions-teardown-intent/v2\"),\n workspace: workspaceName,\n accountId: z.string().min(1),\n manifestHash: sha256,\n resources: z.strictObject({\n database: z.strictObject({ name: z.string().min(1), id: z.string().uuid() }),\n runtimeWorker: z.string().min(1),\n runnerAccessBypassAppId: z.string().nullable(),\n }),\n createdAt: z.string().datetime(),\n});\n\nconst deploymentRecordSchema = z.strictObject({\n sourceHash: sha256,\n deployedAt: z.string().datetime(),\n});\n\nconst manifestSchema = z.strictObject({\n schemaVersion: z.literal(\"gardener.actions-installation/v2\"),\n workspace: workspaceName,\n cloudflare: z.strictObject({\n accountId: z.string().min(1),\n database: z.strictObject({ name: z.string().min(1), id: z.string().uuid() }),\n runtimeWorker: z.string().min(1),\n runtimeOrigin: z.string().url(),\n runnerAccessBypassAppId: z.string().nullable(),\n runtimeConfig: z.string().min(1),\n }),\n deployment: deploymentRecordSchema.optional(),\n deploymentHistory: z.array(deploymentRecordSchema).max(20).optional(),\n deploymentHashVersion: z.literal(\"actions-v2\").optional(),\n runtimeGeneration: z.literal(\"actions-only\").optional(),\n createdAt: z.string().datetime(),\n updatedAt: z.string().datetime(),\n});\nexport type ActionsInstallationManifest = z.infer<typeof manifestSchema>;\n\nexport interface ActionsResourceNames {\n database: string;\n runtimeWorker: string;\n}\n\nexport function actionsResourceNames(workspace: string): ActionsResourceNames {\n const name = workspaceName.parse(workspace);\n return {\n database: `gardener-${name}`,\n runtimeWorker: `gardener-${name}`,\n };\n}\n\nexport function actionsInstallationDirectory(workspace: string): string {\n const root = process.env.GARDENER_CONFIG_HOME\n ? resolve(process.env.GARDENER_CONFIG_HOME)\n : join(homedir(), \".config\", \"gardener\");\n return join(root, workspaceName.parse(workspace), \"actions\");\n}\n\nexport function renderRuntimeConfig(input: {\n names: ActionsResourceNames;\n databaseId: string;\n sourceRoot: string;\n workspace: string;\n migrationMode?: \"fresh\" | \"steady\";\n}): string {\n return `${JSON.stringify({\n name: input.names.runtimeWorker,\n main: join(input.sourceRoot, \"apps/gardener/dist/gardener_runtime/index.js\"),\n compatibility_date: \"2026-09-02\",\n compatibility_flags: [\"nodejs_compat\", \"experimental\", \"global_fetch_strictly_public\"],\n workers_dev: true,\n d1_databases: [{\n binding: \"DB\",\n database_name: input.names.database,\n database_id: input.databaseId,\n migrations_dir: join(input.sourceRoot, \"apps/gardener/migrations\"),\n }],\n ai: { binding: \"AI\" },\n durable_objects: { bindings: [\n { name: \"RUNNER_SESSIONS\", class_name: \"TaskRunnerSession\" },\n { name: \"FLUE_GARDENER_TASK_HARNESS_AGENT\", class_name: \"FlueGardenerTaskHarnessAgent\" },\n ] },\n ...(input.migrationMode === \"steady\" ? {} : {\n migrations: [{\n tag: \"actions-task-runtime-v1\",\n new_sqlite_classes: [\"FlueGardenerTaskHarnessAgent\", \"TaskRunnerSession\"],\n }],\n }),\n observability: {\n enabled: true,\n logs: { enabled: true, invocation_logs: false },\n traces: { enabled: false },\n },\n }, null, 2)}\\n`;\n}\n\nexport async function deployActions(input: {\n workspace: string;\n sourceRoot: string;\n expectedDeploymentHash?: string;\n}): Promise<ActionsInstallationManifest> {\n const workspace = workspaceName.parse(input.workspace);\n const sourceRoot = resolve(input.sourceRoot);\n const names = actionsResourceNames(workspace);\n const directory = actionsInstallationDirectory(workspace);\n const manifestPath = join(directory, \"installation.json\");\n const intentPath = join(directory, \"deploy-intent.json\");\n await ensurePrivateDirectory(directory);\n const prior = await readActionsManifest(workspace);\n const intent = await readDeployIntent(intentPath);\n const accountId = selectedAccountId(sourceRoot);\n if (prior && prior.cloudflare.accountId !== accountId) {\n throw new Error(\"Current Wrangler account does not match the existing Actions installation\");\n }\n if (intent && (\n intent.accountId !== accountId\n || JSON.stringify(intent.resources) !== JSON.stringify(names)\n )) {\n throw new Error(\"Existing deployment intent does not match the requested Actions installation\");\n }\n let databases = listDatabases(sourceRoot);\n if (!prior && !intent && (\n databases.some((database) => database.name === names.database)\n || workerExists(sourceRoot, names.runtimeWorker)\n )) {\n throw new Error(\"Cloudflare resources already use this workspace name; choose another workspace or restore its installation manifest\");\n }\n if (!prior && !intent) {\n await writePrivateJson(intentPath, intentSchema.parse({\n schemaVersion: \"gardener.actions-deploy-intent/v1\",\n workspace,\n accountId,\n resources: names,\n createdAt: new Date().toISOString(),\n }));\n }\n\n if (!databases.some((database) => database.name === names.database)) {\n wrangler(sourceRoot, \".\", [\"d1\", \"create\", names.database], undefined, { quiet: true });\n databases = listDatabases(sourceRoot);\n }\n const database = databases.find((candidate) => candidate.name === names.database);\n if (!database) throw new Error(\"Gardener D1 creation could not be verified\");\n if (prior && prior.cloudflare.database.id !== database.uuid) {\n throw new Error(\"Existing installation manifest does not match the Cloudflare D1 database\");\n }\n\n if (!(await isPackagedDistribution(sourceRoot))) {\n runCommand(\"pnpm\", [\"--filter\", \"@gardener/app\", \"build\"], { cwd: sourceRoot, quiet: true });\n }\n const sourceHash = await actionsDeploymentHash(sourceRoot);\n if (input.expectedDeploymentHash && sourceHash !== sha256.parse(input.expectedDeploymentHash)) {\n throw new Error(\"Trusted rollback source does not match the confirmed historical deployment digest\");\n }\n const runtimeConfig = join(directory, \"runtime.wrangler.json\");\n await writePrivateText(runtimeConfig, renderRuntimeConfig({\n names,\n databaseId: database.uuid,\n sourceRoot,\n workspace,\n migrationMode: prior === null ? \"fresh\" : \"steady\",\n }));\n wrangler(sourceRoot, \"apps/gardener\", [\n \"d1\", \"migrations\", \"apply\", names.database, \"--remote\", \"--config\", runtimeConfig,\n ], undefined, { quiet: true });\n const runtimeDeploy = wrangler(sourceRoot, \"apps/gardener\", [\n \"deploy\", \"--config\", runtimeConfig,\n ], undefined, { quiet: true });\n const runtimeOrigin = workerOrigin(runtimeDeploy, names.runtimeWorker);\n const now = new Date().toISOString();\n const deploymentHistory = prior?.deploymentHashVersion !== \"actions-v2\"\n ? []\n : prior.deployment && prior.deployment.sourceHash !== sourceHash\n ? [prior.deployment, ...(prior.deploymentHistory ?? [])]\n .filter((record, index, records) => record.sourceHash !== sourceHash\n && records.findIndex((candidate) => candidate.sourceHash === record.sourceHash) === index)\n .slice(0, 20)\n : prior.deploymentHistory ?? [];\n let manifest = manifestSchema.parse({\n schemaVersion: \"gardener.actions-installation/v2\",\n workspace,\n cloudflare: {\n accountId,\n database: { name: names.database, id: database.uuid },\n runtimeWorker: names.runtimeWorker,\n runtimeOrigin,\n runnerAccessBypassAppId: prior?.cloudflare.runnerAccessBypassAppId ?? null,\n runtimeConfig,\n },\n deployment: { sourceHash, deployedAt: now },\n deploymentHistory,\n deploymentHashVersion: \"actions-v2\",\n runtimeGeneration: \"actions-only\",\n createdAt: prior?.createdAt ?? now,\n updatedAt: now,\n });\n await writePrivateJson(manifestPath, manifest);\n await unlink(intentPath).catch(() => undefined);\n\n const accessAppId = await ensurePublicRuntime({\n accountId,\n workspace,\n runtimeOrigin,\n existingAppId: manifest.cloudflare.runnerAccessBypassAppId,\n });\n if (accessAppId !== manifest.cloudflare.runnerAccessBypassAppId) {\n manifest = manifestSchema.parse({\n ...manifest,\n cloudflare: { ...manifest.cloudflare, runnerAccessBypassAppId: accessAppId },\n updatedAt: new Date().toISOString(),\n });\n await writePrivateJson(manifestPath, manifest);\n }\n await requireHealthyRuntime(runtimeOrigin);\n return manifest;\n}\n\nexport async function upgradeActions(input: {\n workspace: string;\n sourceRoot: string;\n}): Promise<{ previousHash: string | null; deploymentHash: string; changed: boolean }> {\n const prior = await requiredActionsManifest(input.workspace);\n const previousHash = prior.deployment?.sourceHash ?? null;\n const manifest = await deployActions(input);\n const deploymentHash = manifest.deployment!.sourceHash;\n return { previousHash, deploymentHash, changed: previousHash !== deploymentHash };\n}\n\nexport async function rollbackActions(input: {\n workspace: string;\n sourceRoot: string;\n confirm: string;\n}): Promise<{ previousHash: string; deploymentHash: string; rolledBack: true }> {\n const prior = await requiredActionsManifest(input.workspace);\n const previousHash = prior.deployment?.sourceHash;\n if (!previousHash) throw new Error(\"The installation predates deployment history and cannot be rolled back automatically\");\n const confirmedHash = sha256.parse(input.confirm);\n if (!(prior.deploymentHistory ?? []).some((record) => record.sourceHash === confirmedHash)) {\n throw new Error(\"Confirmed rollback digest is not present in this installation's deployment history\");\n }\n const manifest = await deployActions({\n workspace: input.workspace,\n sourceRoot: input.sourceRoot,\n expectedDeploymentHash: confirmedHash,\n });\n return { previousHash, deploymentHash: manifest.deployment!.sourceHash, rolledBack: true };\n}\n\nexport function actionsRepositoryTaskEnrollmentSql(input: {\n repositoryId: string;\n taskId: string;\n bundleHash: string;\n sourcePath: string;\n}): string {\n const repositoryId = sql(input.repositoryId);\n const taskId = sql(input.taskId);\n // Connecting never disables the bundle being kept. A bundle disabled only for\n // being stale, such as a reverted task, comes back when another bundle of the\n // task is enabled; after `task disable` every row is 0, so it stays disabled.\n const inherited = (except: string) => `(SELECT MAX(o.enabled) FROM actions_repository_tasks o WHERE o.repository_id=${repositoryId} AND o.task_id=${taskId}${except})`;\n return `INSERT INTO actions_repository_tasks(repository_id,bundle_hash,task_id,source_path,enabled) SELECT ${repositoryId},${sql(input.bundleHash)},${taskId},${sql(input.sourcePath)},COALESCE(${inherited(\"\")},1) WHERE true ON CONFLICT(repository_id,bundle_hash) DO UPDATE SET task_id=excluded.task_id,source_path=excluded.source_path,enabled=MAX(actions_repository_tasks.enabled,COALESCE(${inherited(\" AND o.bundle_hash<>excluded.bundle_hash\")},0)),updated_at=CURRENT_TIMESTAMP;`;\n}\n\nexport async function connectActions(input: {\n workspace: string;\n repository: string;\n repositoryRoot: string;\n sourceRoot: string;\n}): Promise<{ repositoryId: string; bundles: string[]; runtimeOrigin: string }> {\n const repository = repositorySlug.parse(input.repository);\n const manifest = await requiredActionsManifest(input.workspace);\n const lock = await readProjectLock(input.repositoryRoot);\n const metadata = JSON.parse(runCommand(\"gh\", [\n \"api\", `repos/${repository}`,\n \"--jq\", \"{repositoryId:(.id|tostring),ownerId:(.owner.id|tostring),ownerLogin:.owner.login,repositoryName:.name,visibility:.visibility}\",\n ], { cwd: input.repositoryRoot, quiet: true }).stdout) as {\n repositoryId: string;\n ownerId: string;\n ownerLogin: string;\n repositoryName: string;\n visibility: \"public\" | \"private\" | \"internal\";\n };\n const enrollmentSql = actionsEnrollmentSql({\n ...metadata,\n workflowRef: lock.release.workflowRef,\n audience: manifest.cloudflare.runtimeOrigin,\n });\n const statements = [enrollmentSql];\n const bundles: string[] = [];\n for (const [taskId, task] of Object.entries(lock.tasks).sort(([left], [right]) => left.localeCompare(right))) {\n const bundle = taskBundleV1Schema.parse(task.bundle);\n const deployment = compileGitHubActionsTask(bundle);\n if (canonicalJson(deployment) !== canonicalJson(task.deployment)) {\n throw new Error(`Lock task ${taskId} does not match its github-actions/v1 deployment plan`);\n }\n if (bundle.taskId !== taskId) throw new Error(`Lock task ${taskId} does not match its compiled bundle identity`);\n const canonical = canonicalJson(bundle);\n const hash = sha256.parse(task.bundleHash);\n if (await canonicalSha256(bundle) !== hash) throw new Error(`Lock task ${taskId} does not match its bundle hash`);\n bundles.push(hash);\n const sourcePath = `.gardener/${task.source}`;\n statements.push(\n `INSERT INTO actions_task_bundles(bundle_hash,task_id,bundle_json) VALUES (${sql(hash)},${sql(taskId)},${sql(canonical)}) ON CONFLICT(bundle_hash) DO NOTHING;`,\n actionsRepositoryTaskEnrollmentSql({\n repositoryId: metadata.repositoryId,\n taskId,\n bundleHash: hash,\n sourcePath,\n }),\n );\n }\n statements.push(bundles.length > 0\n ? `UPDATE actions_repository_tasks SET enabled=0,updated_at=CURRENT_TIMESTAMP WHERE repository_id=${sql(metadata.repositoryId)} AND bundle_hash NOT IN (${bundles.map(sql).join(\",\")});`\n : `UPDATE actions_repository_tasks SET enabled=0,updated_at=CURRENT_TIMESTAMP WHERE repository_id=${sql(metadata.repositoryId)};`);\n wrangler(resolve(input.sourceRoot), \"apps/gardener\", [\n \"d1\", \"execute\", manifest.cloudflare.database.name,\n \"--remote\", \"--config\", manifest.cloudflare.runtimeConfig,\n \"--command\", statements.join(\"\\n\"),\n ], undefined, { quiet: true });\n runCommand(\"gh\", [\n \"variable\", \"set\", \"GARDENER_RUNTIME_URL\", \"--repo\", repository,\n \"--body\", manifest.cloudflare.runtimeOrigin,\n ], { cwd: input.repositoryRoot, quiet: true });\n return { repositoryId: metadata.repositoryId, bundles, runtimeOrigin: manifest.cloudflare.runtimeOrigin };\n}\n\nexport async function doctorActions(workspace: string, sourceRoot: string): Promise<{\n ok: true;\n account: true;\n runtime: true;\n database: true;\n access: true;\n schema: true;\n deploymentHash: string | null;\n repositories: number;\n enabledRepositories: number;\n enabledTasks: number;\n staleBridgeRepositories: number;\n pullRequestPermissionWarnings: PullRequestPermissionWarning[];\n}> {\n const manifest = await requiredActionsManifest(workspace);\n if (selectedAccountId(resolve(sourceRoot)) !== manifest.cloudflare.accountId) {\n throw new Error(\"Current Wrangler account does not match the Actions installation\");\n }\n const database = listDatabases(resolve(sourceRoot))\n .find((candidate) => candidate.name === manifest.cloudflare.database.name);\n if (!database || database.uuid !== manifest.cloudflare.database.id) {\n throw new Error(\"Gardener D1 does not match the installation manifest\");\n }\n if (!workerExists(resolve(sourceRoot), manifest.cloudflare.runtimeWorker)) {\n throw new Error(\"Gardener Worker does not match the installation manifest\");\n }\n const requiredTables = [\n \"actions_control_audit\",\n \"actions_repository_enrollments\",\n \"actions_repository_tasks\",\n \"actions_task_audit\",\n \"actions_task_bundles\",\n \"actions_task_runs\",\n ];\n const schemaRows = queryDoctorD1(resolve(sourceRoot), manifest,\n `SELECT name FROM sqlite_master WHERE type='table' AND name IN (${requiredTables.map(sql).join(\",\")}) ORDER BY name;`);\n const presentTables = new Set(schemaRows.map((row) => String(row.name)));\n const missingTables = requiredTables.filter((name) => !presentTables.has(name));\n if (missingTables.length > 0) {\n throw new Error(`Gardener D1 schema is incomplete (${missingTables.join(\", \")}); run gardener deploy --workspace ${workspace} to apply migrations`);\n }\n const counts = queryDoctorD1(resolve(sourceRoot), manifest,\n `SELECT (SELECT COUNT(*) FROM actions_repository_enrollments) AS repositories,(SELECT COUNT(*) FROM actions_repository_enrollments WHERE enabled=1) AS enabled_repositories,(SELECT COUNT(*) FROM actions_repository_tasks WHERE enabled=1) AS enabled_tasks,(SELECT COUNT(*) FROM actions_repository_enrollments WHERE enabled=1 AND plan_job_workflow_ref<>${sql(DEFAULT_WORKFLOW_REF)}) AS stale_bridge_repositories;`)[0];\n if (!counts) throw new Error(\"Gardener D1 did not return operational counts\");\n const pullRequestTasks = queryDoctorD1(resolve(sourceRoot), manifest,\n `SELECT e.repository_id AS repository_id, e.owner_login || '/' || e.repository_name AS full_name, group_concat(DISTINCT effect.value) AS kinds FROM actions_repository_enrollments e JOIN actions_repository_tasks t ON t.repository_id=e.repository_id AND t.enabled=1 JOIN actions_task_bundles b ON b.bundle_hash=t.bundle_hash JOIN json_each(CASE WHEN json_valid(b.bundle_json) THEN b.bundle_json ELSE '{}' END, '$.effects') effect WHERE e.enabled=1 AND effect.value IN (${PULL_REQUEST_PERMISSION_KINDS.map(sql).join(\",\")}) GROUP BY e.repository_id ORDER BY full_name;`);\n const pullRequestPermissionWarnings = pullRequestPermissionWarningsFor(pullRequestTasks.map((row) => ({\n repositoryId: String(row.repository_id),\n repository: String(row.full_name),\n kinds: String(row.kinds ?? \"\").split(\",\").filter((kind) => kind !== \"\"),\n })), (repositoryId) => {\n // allowFailure keeps gh's own error output off the terminal; a failure\n // becomes the tidy \"could not confirm\" warning instead.\n const result = runCommand(\"gh\", [\"api\", `repositories/${repositoryId}/actions/permissions/workflow`], {\n cwd: resolve(sourceRoot), quiet: true, allowFailure: true, timeoutMs: 30_000,\n });\n if (result.status !== 0) throw new Error(\"gh api failed\");\n return JSON.parse(result.stdout) as unknown;\n });\n if (manifest.cloudflare.runnerAccessBypassAppId) {\n const record = objectResult(await cloudflareApi(\n manifest.cloudflare.accountId,\n `/access/apps/${encodeURIComponent(manifest.cloudflare.runnerAccessBypassAppId)}`,\n ));\n if (record.domain !== new URL(manifest.cloudflare.runtimeOrigin).hostname\n || record.name !== `Gardener ${workspace} runtime`) {\n throw new Error(\"Runtime Access bypass does not match the installation manifest\");\n }\n }\n const response = await fetch(`${manifest.cloudflare.runtimeOrigin}/health`);\n const health = await response.json().catch(() => null) as { ok?: unknown } | null;\n if (!response.ok || health?.ok !== true) {\n throw new Error(\"Gardener runtime is unhealthy\");\n }\n return {\n ok: true,\n account: true,\n runtime: true,\n database: true,\n access: true,\n schema: true,\n deploymentHash: manifest.deployment?.sourceHash ?? null,\n repositories: Number(counts.repositories),\n enabledRepositories: Number(counts.enabled_repositories),\n enabledTasks: Number(counts.enabled_tasks),\n staleBridgeRepositories: Number(counts.stale_bridge_repositories),\n pullRequestPermissionWarnings,\n };\n}\n\n/**\n * Effects GitHub refuses to a workflow's token unless the repository allows\n * Actions to create and approve pull requests. A review only needs it to\n * approve, but the task may approve, so it is checked too.\n */\nconst PULL_REQUEST_PERMISSION_KINDS = [\"pull_request.open\", \"pull_request.open_draft\", \"pull_request.review.submit\"] as const;\n\nexport interface PullRequestPermissionWarning {\n repository: string;\n kinds: string[];\n message: string;\n}\n\n/**\n * Warns about each repository whose enabled tasks need the \"Allow GitHub\n * Actions to create and approve pull requests\" setting while it is off or\n * cannot be read. New repositories have it off, and without it apply stops at\n * the pull request step.\n */\nexport function pullRequestPermissionWarningsFor(\n repositories: ReadonlyArray<{ repositoryId: string; repository: string; kinds: readonly string[] }>,\n readWorkflowPermissions: (repositoryId: string) => unknown,\n): PullRequestPermissionWarning[] {\n const warnings: PullRequestPermissionWarning[] = [];\n for (const { repositoryId, repository, kinds } of repositories) {\n const needs = kinds.includes(\"pull_request.open\") || kinds.includes(\"pull_request.open_draft\")\n ? \"open pull requests\"\n : \"approve pull requests\";\n let allowed: boolean | null;\n try {\n const value = readWorkflowPermissions(repositoryId) as { can_approve_pull_request_reviews?: unknown } | null;\n allowed = typeof value?.can_approve_pull_request_reviews === \"boolean\" ? value.can_approve_pull_request_reviews : null;\n } catch {\n allowed = null;\n }\n if (allowed === true) continue;\n const setting = \"Allow GitHub Actions to create and approve pull requests (Settings \u2192 Actions \u2192 General)\";\n warnings.push({\n repository,\n kinds: [...kinds],\n message: allowed === false\n ? `${repository} has tasks that ${needs}, but \"${setting}\" is off. Turn it on, or apply will stop at that step.`\n : `${repository} has tasks that ${needs}; could not confirm \"${setting}\" is on.`,\n });\n }\n return warnings;\n}\n\nexport async function destroyActions(input: {\n workspace: string;\n sourceRoot: string;\n execute: boolean;\n confirm?: string;\n}): Promise<{\n destroyed: boolean;\n intentDigest: string;\n resources: { database: string; runtimeWorker: string };\n}> {\n const manifest = await requiredActionsManifest(input.workspace);\n const sourceRoot = resolve(input.sourceRoot);\n const resources = {\n database: manifest.cloudflare.database.name,\n runtimeWorker: manifest.cloudflare.runtimeWorker,\n };\n const directory = actionsInstallationDirectory(input.workspace);\n const intentPath = join(directory, \"teardown-intent.json\");\n const manifestHash = await canonicalSha256(manifest);\n const teardownResources = {\n database: manifest.cloudflare.database,\n runtimeWorker: manifest.cloudflare.runtimeWorker,\n runnerAccessBypassAppId: manifest.cloudflare.runnerAccessBypassAppId,\n };\n let intent = await readTeardownIntent(intentPath);\n\n if (!input.execute) {\n if (!intent || intent.manifestHash !== manifestHash || teardownIntentExpired(intent.createdAt)) {\n intent = teardownIntentSchema.parse({\n schemaVersion: \"gardener.actions-teardown-intent/v2\",\n workspace: input.workspace,\n accountId: manifest.cloudflare.accountId,\n manifestHash,\n resources: teardownResources,\n createdAt: new Date().toISOString(),\n });\n await writePrivateJson(intentPath, intent);\n }\n return { destroyed: false, intentDigest: await canonicalSha256(intent), resources };\n }\n\n if (!intent) throw new Error(\"No teardown intent exists; run gardener down without --execute first\");\n if (teardownIntentExpired(intent.createdAt)) {\n throw new Error(\"Teardown intent expired; run gardener down without --execute to create a new intent\");\n }\n const intentDigest = await canonicalSha256(intent);\n if (input.confirm !== intentDigest) {\n throw new Error(`Destructive teardown requires --confirm ${intentDigest}`);\n }\n if (intent.workspace !== input.workspace || intent.accountId !== manifest.cloudflare.accountId\n || intent.manifestHash !== manifestHash\n || canonicalJson(intent.resources) !== canonicalJson(teardownResources)) {\n throw new Error(\"Teardown intent no longer matches the installation manifest\");\n }\n if (selectedAccountId(sourceRoot) !== manifest.cloudflare.accountId) {\n throw new Error(\"Current Wrangler account does not match the Actions installation\");\n }\n const database = listDatabases(sourceRoot)\n .find((candidate) => candidate.name === manifest.cloudflare.database.name);\n if (database && database.uuid !== manifest.cloudflare.database.id) {\n throw new Error(\"Refusing teardown because the D1 identity does not match the installation manifest\");\n }\n if (manifest.cloudflare.runnerAccessBypassAppId) {\n await cloudflareApi(\n manifest.cloudflare.accountId,\n `/access/apps/${encodeURIComponent(manifest.cloudflare.runnerAccessBypassAppId)}`,\n { method: \"DELETE\" },\n true,\n );\n }\n deleteWorker(sourceRoot, manifest.cloudflare.runtimeWorker);\n if (database) {\n wrangler(sourceRoot, \"apps/gardener\", [\n \"d1\", \"delete\", manifest.cloudflare.database.name, \"--skip-confirmation\",\n ], undefined, { quiet: true });\n }\n await writePrivateJson(join(directory, \"teardown.json\"), {\n schemaVersion: \"gardener.actions-teardown/v1\",\n workspace: input.workspace,\n intentDigest,\n destroyedAt: new Date().toISOString(),\n cloudflare: manifest.cloudflare,\n });\n await unlink(join(directory, \"installation.json\")).catch(() => undefined);\n await unlink(intentPath).catch(() => undefined);\n await unlink(join(directory, \"deploy-intent.json\")).catch(() => undefined);\n return { destroyed: true, intentDigest, resources };\n}\n\nexport async function actionsDeploymentHash(sourceRootInput: string): Promise<string> {\n const sourceRoot = resolve(sourceRootInput);\n const migrationRoot = join(sourceRoot, \"apps/gardener/migrations\");\n const migrationNames = (await readdir(migrationRoot)).filter((name) => name.endsWith(\".sql\")).sort();\n return canonicalSha256({\n runtimeBundle: await readFile(join(sourceRoot, \"apps/gardener/dist/gardener_runtime/index.js\"), \"utf8\"),\n migrations: await Promise.all(migrationNames.map(async (name) => ({\n name,\n sql: await readFile(join(migrationRoot, name), \"utf8\"),\n }))),\n });\n}\n\nexport async function readActionsManifest(workspace: string): Promise<ActionsInstallationManifest | null> {\n try {\n return manifestSchema.parse(JSON.parse(await readFile(\n join(actionsInstallationDirectory(workspace), \"installation.json\"),\n \"utf8\",\n )));\n } catch (error) {\n if (error && typeof error === \"object\" && \"code\" in error && error.code === \"ENOENT\") return null;\n throw error;\n }\n}\n\nasync function readDeployIntent(path: string): Promise<z.infer<typeof intentSchema> | null> {\n try {\n return intentSchema.parse(JSON.parse(await readFile(path, \"utf8\")));\n } catch (error) {\n if (error && typeof error === \"object\" && \"code\" in error && error.code === \"ENOENT\") return null;\n throw error;\n }\n}\n\nfunction teardownIntentExpired(createdAt: string, now = Date.now()): boolean {\n return now - Date.parse(createdAt) > TEARDOWN_INTENT_TTL_MS;\n}\n\nasync function readTeardownIntent(path: string): Promise<z.infer<typeof teardownIntentSchema> | null> {\n try {\n const value = JSON.parse(await readFile(path, \"utf8\")) as { schemaVersion?: unknown };\n return value.schemaVersion === \"gardener.actions-teardown-intent/v2\"\n ? teardownIntentSchema.parse(value)\n : null;\n } catch (error) {\n if (error && typeof error === \"object\" && \"code\" in error && error.code === \"ENOENT\") return null;\n throw error;\n }\n}\n\nasync function requiredActionsManifest(workspace: string): Promise<ActionsInstallationManifest> {\n const manifest = await readActionsManifest(workspace);\n if (!manifest) throw new Error(`No Actions installation exists for workspace ${workspace}`);\n return manifest;\n}\n\nconst lockSchema = z.strictObject({\n schemaVersion: z.literal(\"gardener.lock/v1\"),\n target: z.strictObject({\n id: z.literal(\"github-actions/v1\"),\n adapterVersion: z.literal(\"1\"),\n workflowRef: z.string().min(1),\n }),\n release: z.strictObject({ workflowRef: z.string().min(1) }),\n tasks: z.record(z.string(), z.strictObject({\n source: z.string(),\n bundleHash: sha256,\n workflow: z.string(),\n bundle: z.record(z.string(), z.unknown()),\n deployment: z.record(z.string(), z.unknown()),\n })),\n});\n\nexport async function readProjectLock(repositoryRoot: string) {\n return lockSchema.parse(JSON.parse(await readFile(\n join(resolve(repositoryRoot), \".gardener\", \"gardener.lock.json\"),\n \"utf8\",\n )));\n}\n\nexport async function ensurePublicRuntime(input: {\n accountId: string;\n workspace: string;\n runtimeOrigin: string;\n existingAppId: string | null;\n}, stabilizationMs = 5_000): Promise<string | null> {\n // A newly assigned workers.dev hostname can briefly answer before account-wide\n // Access policy propagation. Wait before deciding that no bypass is required.\n if (stabilizationMs > 0) {\n await new Promise((resolvePromise) => setTimeout(resolvePromise, stabilizationMs));\n }\n let accessIntercepted = false;\n for (let attempt = 0; attempt < 5; attempt += 1) {\n const response = await fetch(`${input.runtimeOrigin}/health`, { redirect: \"manual\" });\n if (isAccessRedirect(response)) {\n accessIntercepted = true;\n break;\n }\n const body = await response.json().catch(() => null) as { ok?: unknown } | null;\n if (response.ok && body?.ok === true) return input.existingAppId;\n await new Promise((resolvePromise) => setTimeout(resolvePromise, 1_000));\n }\n if (!accessIntercepted) return input.existingAppId;\n const expectedName = `Gardener ${input.workspace} runtime`;\n const domain = new URL(input.runtimeOrigin).hostname;\n\n if (input.existingAppId) {\n const existing = await cloudflareApi(input.accountId, `/access/apps/${encodeURIComponent(input.existingAppId)}`);\n const record = objectResult(existing);\n if (record.domain !== domain || record.name !== expectedName) {\n throw new Error(\"Recorded runtime Access bypass does not match the deployed Worker\");\n }\n return input.existingAppId;\n }\n\n const listed = await cloudflareApi(input.accountId, \"/access/apps?per_page=100\");\n const exact = arrayResult(listed).filter((item) => item.domain === domain);\n if (exact.length > 0) {\n const owned = exact.find((item) => item.name === expectedName && typeof item.id === \"string\");\n if (!owned) throw new Error(\"An unmanaged Cloudflare Access application already owns the runtime hostname\");\n return owned.id as string;\n }\n\n const created = await cloudflareApi(input.accountId, \"/access/apps\", {\n method: \"POST\",\n body: JSON.stringify({\n name: expectedName,\n domain,\n type: \"self_hosted\",\n session_duration: \"24h\",\n policies: [{\n name: \"Allow GitHub OIDC bridge sessions\",\n decision: \"bypass\",\n precedence: 1,\n include: [{ everyone: {} }],\n }],\n }),\n });\n const result = objectResult(created);\n if (typeof result.id !== \"string\") throw new Error(\"Cloudflare did not return an Access application ID\");\n return result.id;\n}\n\nasync function requireHealthyRuntime(runtimeOrigin: string): Promise<void> {\n for (let attempt = 0; attempt < 15; attempt += 1) {\n const response = await fetch(`${runtimeOrigin}/health`, { redirect: \"manual\" });\n if (!isAccessRedirect(response)) {\n const body = await response.json().catch(() => null) as { ok?: unknown } | null;\n if (response.ok && body?.ok === true) return;\n throw new Error(\"Gardener runtime health check failed\");\n }\n await new Promise((resolvePromise) => setTimeout(resolvePromise, 1_000));\n }\n throw new Error(\"Cloudflare Access runtime bypass did not become active\");\n}\n\nfunction isAccessRedirect(response: Response): boolean {\n if (response.status < 300 || response.status >= 400) return false;\n const location = response.headers.get(\"location\");\n if (!location) return false;\n try { return new URL(location).hostname.endsWith(\".cloudflareaccess.com\"); }\n catch { return false; }\n}\n\nasync function cloudflareApi(\n accountId: string,\n path: string,\n init: RequestInit = {},\n allowNotFound = false,\n): Promise<unknown> {\n const token = process.env.CLOUDFLARE_API_TOKEN ?? process.env.CF_API_TOKEN;\n if (!token) {\n throw new Error(\n \"Cloudflare Access protects the runtime hostname. Set a scoped CLOUDFLARE_API_TOKEN with Access Apps and Policies edit permission, then rerun deploy.\",\n );\n }\n const response = await fetch(`https://api.cloudflare.com/client/v4/accounts/${encodeURIComponent(accountId)}${path}`, {\n ...init,\n headers: {\n authorization: `Bearer ${token}`,\n \"content-type\": \"application/json\",\n ...(init.headers ?? {}),\n },\n });\n if (allowNotFound && response.status === 404) return null;\n const body = await response.json().catch(() => null) as {\n success?: unknown;\n errors?: Array<{ message?: unknown }>;\n result?: unknown;\n } | null;\n if (!response.ok || body?.success !== true) {\n const message = body?.errors?.map((error) => String(error.message ?? \"unknown error\")).join(\"; \");\n throw new Error(`Cloudflare Access API request failed: ${message || response.status}`);\n }\n return body.result;\n}\n\nfunction objectResult(value: unknown): Record<string, unknown> {\n if (!value || typeof value !== \"object\" || Array.isArray(value)) {\n throw new Error(\"Cloudflare Access API returned an invalid object\");\n }\n return value as Record<string, unknown>;\n}\n\nfunction arrayResult(value: unknown): Array<Record<string, unknown>> {\n if (!Array.isArray(value)) throw new Error(\"Cloudflare Access API returned an invalid list\");\n return value.filter((item): item is Record<string, unknown> =>\n Boolean(item) && typeof item === \"object\" && !Array.isArray(item)\n );\n}\n\nasync function isPackagedDistribution(sourceRoot: string): Promise<boolean> {\n try {\n const value = JSON.parse(await readFile(join(sourceRoot, \"gardener-distribution.json\"), \"utf8\")) as {\n schemaVersion?: unknown;\n };\n return value.schemaVersion === \"gardener.cli-distribution/v1\";\n } catch (error) {\n if (error && typeof error === \"object\" && \"code\" in error && error.code === \"ENOENT\") return false;\n throw error;\n }\n}\n\nfunction queryDoctorD1(\n sourceRoot: string,\n manifest: ActionsInstallationManifest,\n command: string,\n): Array<Record<string, unknown>> {\n const result = wrangler(sourceRoot, \"apps/gardener\", [\n \"d1\", \"execute\", manifest.cloudflare.database.name,\n \"--remote\", \"--json\", \"--command\", command,\n ], undefined, { quiet: true });\n const value = JSON.parse(result.stdout) as unknown;\n if (!Array.isArray(value)) throw new Error(\"Wrangler returned invalid D1 doctor output\");\n return value.flatMap((entry) => {\n if (!entry || typeof entry !== \"object\") return [];\n const rows = (entry as { results?: unknown }).results;\n return Array.isArray(rows)\n ? rows.filter((row): row is Record<string, unknown> => Boolean(row) && typeof row === \"object\")\n : [];\n });\n}\n\nfunction deleteWorker(sourceRoot: string, worker: string): void {\n const result = wrangler(sourceRoot, \".\", [\n \"delete\", worker, \"--force\",\n ], undefined, { quiet: true, allowFailure: true });\n if (result.status !== 0 && !/not found|does not exist|10090/i.test(`${result.stdout}\\n${result.stderr}`)) {\n throw new Error(`Failed to delete Gardener Worker ${worker}`);\n }\n}\n\nfunction sql(value: string): string {\n return `'${value.replaceAll(\"'\", \"''\")}'`;\n}\n", "export * as core from \"../core/index.js\";\nexport * from \"./schemas.js\";\nexport * from \"./checks.js\";\nexport * from \"./errors.js\";\nexport * from \"./parse.js\";\nexport * from \"./compat.js\";\nexport { globalRegistry, registry, config, memoizer, $output, $input, $brand, clone, regexes, treeifyError, prettifyError, formatError, flattenError, TimePrecision, util, NEVER, INVALID, toZod, compile, withParser, ZodCompileAsyncError, ZodCompileUnsupportedError, getDiscriminatedOption, } from \"../core/index.js\";\nexport { toJSONSchema } from \"../core/json-schema-processors.js\";\nexport { fromJSONSchema } from \"./from-json-schema.js\";\nexport { deepPartial } from \"./deep-partial.js\";\n// Types and values both, from one module \u2014 re-exporting the types from core would collide.\nexport { input, output } from \"./in-out.js\";\nexport * as locales from \"../locales/index.js\";\n// iso must be exported from top-level https://github.com/colinhacks/zod/issues/4491\nexport { ZodISODateTime, ZodISODate, ZodISOTime, ZodISODuration } from \"./iso.js\";\nexport * as iso from \"./iso.js\";\nexport * as coerce from \"./coerce.js\";\n", "export * from \"./core.js\";\nexport * from \"./parse.js\";\nexport * from \"./errors.js\";\nexport * from \"./schemas.js\";\nexport * from \"./memoizer.js\";\nexport * from \"./checks.js\";\nexport * from \"./versions.js\";\nexport * as util from \"./util.js\";\nexport { toZod } from \"./util.js\";\nexport * as regexes from \"./regexes.js\";\nexport * as locales from \"../locales/index.js\";\nexport * from \"./registries.js\";\nexport * from \"./doc.js\";\nexport * from \"./compile.js\";\nexport * from \"./api.js\";\nexport * from \"./to-json-schema.js\";\nexport { toJSONSchema } from \"./json-schema-processors.js\";\nexport { JSONSchemaGenerator } from \"./json-schema-generator.js\";\nexport * as JSONSchema from \"./json-schema.js\";\n", "import { globalConfig } from \"./core.js\";\n// functions\nexport function assertEqual(val) {\n return val;\n}\nexport function assertNotEqual(val) {\n return val;\n}\nexport function toZod() {\n return (schema) => schema;\n}\nexport function assertIs(_arg) { }\nexport function assertNever(_x) {\n throw new Error(\"Unexpected value in exhaustive check\");\n}\nexport function assert(_) { }\nexport function getEnumValues(entries) {\n const numericValues = Object.values(entries).filter((v) => typeof v === \"number\");\n const values = Object.entries(entries)\n .filter(([k, _]) => numericValues.indexOf(+k) === -1)\n .map(([_, v]) => v);\n return values;\n}\nexport function joinValues(array, separator = \"|\") {\n return array.map((val) => stringifyPrimitive(val)).join(separator);\n}\nexport function jsonStringifyReplacer(_, value) {\n if (typeof value === \"bigint\")\n return value.toString();\n return value;\n}\n// the accessor lives on a shared prototype: an own accessor makes every box a dictionary-mode object (~360 B and a slow load per read against ~100 B and an inlined getter here)\nclass Cached {\n constructor(getter) {\n this._getter = getter;\n this._value = undefined;\n }\n get value() {\n const getter = this._getter;\n if (getter !== undefined) {\n this._value = getter();\n this._getter = undefined;\n }\n return this._value;\n }\n}\nexport function cached(getter) {\n return new Cached(getter);\n}\nexport function nullish(input) {\n return input === null || input === undefined;\n}\nexport function cleanRegex(source) {\n const start = source.startsWith(\"^\") ? 1 : 0;\n const end = source.endsWith(\"$\") ? source.length - 1 : source.length;\n return source.slice(start, end);\n}\nexport function floatSafeRemainder(val, step) {\n const ratio = val / step;\n const roundedRatio = Math.round(ratio);\n // `val` and `step` each round to a double before the division rounds again, so a true decimal multiple's quotient can sit up to 1.5 of these scaled epsilons from the integer. A 1x tolerance therefore rejected 2.03 as a multiple of 0.07; 4x covers the worst case with margin.\n const tolerance = 4 * Number.EPSILON * Math.max(Math.abs(ratio), 1);\n if (Math.abs(ratio - roundedRatio) < tolerance)\n return 0;\n return ratio - roundedRatio;\n}\nconst EVALUATING = /* @__PURE__*/ Symbol(\"evaluating\");\nexport function defineLazy(object, key, getter) {\n let value = undefined;\n Object.defineProperty(object, key, {\n get() {\n if (value === EVALUATING) {\n // Circular reference detected, return undefined to break the cycle\n return undefined;\n }\n if (value === undefined) {\n value = EVALUATING;\n value = getter();\n }\n return value;\n },\n set(v) {\n Object.defineProperty(object, key, {\n value: v,\n // configurable: true,\n });\n // object[key] = v;\n },\n configurable: true,\n });\n}\nexport function objectClone(obj) {\n return Object.create(Object.getPrototypeOf(obj), Object.getOwnPropertyDescriptors(obj));\n}\nexport function assignProp(target, prop, value) {\n Object.defineProperty(target, prop, {\n value,\n writable: true,\n enumerable: true,\n configurable: true,\n });\n}\n/**\n * Whichever object a def's `shape` currently answers from: the one the caller passed until the first read, the frozen copy after it.\n *\n * Its keys and descriptors read without invoking anything, which is what lets a discriminated union check its discriminator, and the cycle walk read a shape, without resolving a getter that references the schema being constructed. A def that answers `shape` from an accessor of its own has none.\n */\nexport function rawShape(def) {\n const desc = Object.getOwnPropertyDescriptor(def, \"shape\");\n return desc?.get ? desc.get.raw : desc?.value;\n}\n// where a builder reads its source's keys and descriptors, resolving only a shape a def answers for itself. A shape resolves by object spread, so only its enumerable keys are ever part of it.\nfunction sourceShape(schema) {\n return rawShape(schema._zod.def) ?? schema._zod.def.shape;\n}\n// a key whose value is not settled yet, self-caching so every read after the first gets the same one\nfunction deferProp(target, key, getter) {\n Object.defineProperty(target, key, {\n get() {\n const value = getter();\n assignProp(this, key, value);\n return value;\n },\n enumerable: true,\n configurable: true,\n });\n}\n// Writes a settled key. A plain assignment is much cheaper than `defineProperty` and produces the same descriptor, but it runs whatever setter already answers to the key \u2014 an accessor this shape deferred, or an inherited one, which `__proto__` has on every object and prototype pollution can add for any name.\nfunction putProp(target, key, value) {\n if (key in target)\n assignProp(target, key, value);\n else\n target[key] = value;\n}\n/**\n * Copies `keys` of `source`'s shape onto `target`, each value passed through `wrap`.\n *\n * A key the source has resolved is copied through now, so the derived shape states it outright and nothing has to resolve it to learn what it holds. A key the source still defers stays deferred, and reads back through the source's own `shape`, so it resolves once and both shapes get that one schema.\n */\nfunction mirrorShape(target, source, keys, wrap) {\n const raw = sourceShape(source);\n for (const key of keys) {\n const desc = Object.getOwnPropertyDescriptor(raw, key);\n if (!desc.enumerable)\n continue;\n if (desc.get) {\n deferProp(target, key, () => {\n const value = source._zod.def.shape[key];\n return wrap ? wrap(value, key) : value;\n });\n }\n else\n putProp(target, key, wrap ? wrap(desc.value, key) : desc.value);\n }\n}\n// same, for a plain shape a caller passed rather than a schema's\nfunction mirrorProps(target, source) {\n for (const key of Reflect.ownKeys(source)) {\n const desc = Object.getOwnPropertyDescriptor(source, key);\n if (!desc.enumerable)\n continue;\n if (desc.get)\n deferProp(target, key, () => source[key]);\n else\n putProp(target, key, desc.value);\n }\n}\nexport function mergeDefs(...defs) {\n const mergedDescriptors = {};\n for (const def of defs) {\n const descriptors = Object.getOwnPropertyDescriptors(def);\n Object.assign(mergedDescriptors, descriptors);\n }\n return Object.defineProperties({}, mergedDescriptors);\n}\nexport function cloneDef(schema) {\n return mergeDefs(schema._zod.def);\n}\nexport function getElementAtPath(obj, path) {\n if (!path)\n return obj;\n return path.reduce((acc, key) => acc?.[key], obj);\n}\nexport function promiseAllObject(promisesObj) {\n const keys = Object.keys(promisesObj);\n const promises = keys.map((key) => promisesObj[key]);\n return Promise.all(promises).then((results) => {\n const resolvedObj = {};\n for (let i = 0; i < keys.length; i++) {\n resolvedObj[keys[i]] = results[i];\n }\n return resolvedObj;\n });\n}\nexport function randomString(length = 10) {\n const chars = \"abcdefghijklmnopqrstuvwxyz\";\n let str = \"\";\n for (let i = 0; i < length; i++) {\n str += chars[Math.floor(Math.random() * chars.length)];\n }\n return str;\n}\nexport function esc(str) {\n return JSON.stringify(str);\n}\nexport function slugify(input) {\n return input\n .toLowerCase()\n .trim()\n .replace(/[^\\w\\s-]/g, \"\")\n .replace(/[\\s_-]+/g, \"-\")\n .replace(/^-+|-+$/g, \"\");\n}\nexport const captureStackTrace = (\"captureStackTrace\" in Error ? Error.captureStackTrace : (..._args) => { });\nexport function isObject(data) {\n return typeof data === \"object\" && data !== null && !Array.isArray(data);\n}\nexport const allowsEval = /* @__PURE__*/ cached(() => {\n // Skip the probe under `jitless`: strict CSPs report the caught `new Function` as a `securitypolicyviolation` even though the throw is swallowed.\n if (globalConfig.jitless) {\n return false;\n }\n // @ts-ignore\n if (typeof navigator !== \"undefined\" && navigator?.userAgent?.includes(\"Cloudflare\")) {\n return false;\n }\n try {\n const F = Function;\n new F(\"\");\n return true;\n }\n catch (_) {\n return false;\n }\n});\nexport function isPlainObject(o) {\n if (isObject(o) === false)\n return false;\n // modified constructor\n const ctor = o.constructor;\n if (ctor === undefined)\n return true;\n if (typeof ctor !== \"function\")\n return true;\n // modified prototype\n const prot = ctor.prototype;\n if (isObject(prot) === false)\n return false;\n // ctor doesn't have static `isPrototypeOf`\n if (Object.prototype.hasOwnProperty.call(prot, \"isPrototypeOf\") === false) {\n return false;\n }\n return true;\n}\nexport function shallowClone(o) {\n if (isPlainObject(o))\n return { ...o };\n if (Array.isArray(o))\n return [...o];\n if (o instanceof Map)\n return new Map(o);\n if (o instanceof Set)\n return new Set(o);\n return o;\n}\nexport function numKeys(data) {\n let keyCount = 0;\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n keyCount++;\n }\n }\n return keyCount;\n}\nexport const getParsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"undefined\":\n return \"undefined\";\n case \"string\":\n return \"string\";\n case \"number\":\n return Number.isNaN(data) ? \"nan\" : \"number\";\n case \"boolean\":\n return \"boolean\";\n case \"function\":\n return \"function\";\n case \"bigint\":\n return \"bigint\";\n case \"symbol\":\n return \"symbol\";\n case \"object\":\n if (Array.isArray(data)) {\n return \"array\";\n }\n if (data === null) {\n return \"null\";\n }\n if (data.then && typeof data.then === \"function\" && data.catch && typeof data.catch === \"function\") {\n return \"promise\";\n }\n if (typeof Map !== \"undefined\" && data instanceof Map) {\n return \"map\";\n }\n if (typeof Set !== \"undefined\" && data instanceof Set) {\n return \"set\";\n }\n if (typeof Date !== \"undefined\" && data instanceof Date) {\n return \"date\";\n }\n // @ts-ignore\n if (typeof File !== \"undefined\" && data instanceof File) {\n return \"file\";\n }\n return \"object\";\n default:\n throw new Error(`Unknown data type: ${t}`);\n }\n};\nexport const propertyKeyTypes = /* @__PURE__*/ new Set([\"string\", \"number\", \"symbol\"]);\nexport const primitiveTypes = /* @__PURE__*/ new Set([\n \"string\",\n \"number\",\n \"bigint\",\n \"boolean\",\n \"symbol\",\n \"undefined\",\n]);\nexport function escapeRegex(str) {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n}\n// zod-specific utils\nexport function clone(inst, def, params) {\n const cl = new inst._zod.constr(def ?? inst._zod.def);\n if (!def || params?.parent)\n cl._zod.parent = inst;\n return cl;\n}\nexport function normalizeParams(_params) {\n const params = _params;\n if (!params)\n return {};\n if (typeof params === \"string\")\n return { error: () => params };\n if (params?.message !== undefined) {\n if (params?.error !== undefined)\n throw new Error(\"Cannot specify both `message` and `error` params\");\n params.error = params.message;\n }\n delete params.message;\n if (typeof params.error === \"string\")\n return { ...params, error: () => params.error };\n return params;\n}\nexport function createTransparentProxy(getter) {\n let target;\n return new Proxy({}, {\n get(_, prop, receiver) {\n target ?? (target = getter());\n return Reflect.get(target, prop, receiver);\n },\n set(_, prop, value, receiver) {\n target ?? (target = getter());\n return Reflect.set(target, prop, value, receiver);\n },\n has(_, prop) {\n target ?? (target = getter());\n return Reflect.has(target, prop);\n },\n deleteProperty(_, prop) {\n target ?? (target = getter());\n return Reflect.deleteProperty(target, prop);\n },\n ownKeys(_) {\n target ?? (target = getter());\n return Reflect.ownKeys(target);\n },\n getOwnPropertyDescriptor(_, prop) {\n target ?? (target = getter());\n return Reflect.getOwnPropertyDescriptor(target, prop);\n },\n defineProperty(_, prop, descriptor) {\n target ?? (target = getter());\n return Reflect.defineProperty(target, prop, descriptor);\n },\n });\n}\nexport function stringifyPrimitive(value) {\n if (typeof value === \"bigint\")\n return value.toString() + \"n\";\n if (typeof value === \"string\")\n return `\"${value}\"`;\n return `${value}`;\n}\nexport function optionalKeys(shape) {\n return Object.keys(shape).filter((k) => {\n return shape[k]._zod.optin !== undefined && shape[k]._zod.optout === \"optional\";\n });\n}\n// Wrapped in a `@__PURE__` IIFE: esbuild never tree-shakes a top-level initializer that contains a member access on `Number`, so the bare object literal survived into every bundle.\nexport const NUMBER_FORMAT_RANGES = /*@__PURE__*/ (() => ({\n safeint: [Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER],\n int32: [-2147483648, 2147483647],\n uint32: [0, 4294967295],\n float32: [-3.4028234663852886e38, 3.4028234663852886e38],\n float64: [-Number.MAX_VALUE, Number.MAX_VALUE],\n}))();\nexport const BIGINT_FORMAT_RANGES = {\n int64: [/* @__PURE__*/ BigInt(\"-9223372036854775808\"), /* @__PURE__*/ BigInt(\"9223372036854775807\")],\n uint64: [/* @__PURE__*/ BigInt(0), /* @__PURE__*/ BigInt(\"18446744073709551615\")],\n};\nexport function pick(schema, mask) {\n const currDef = schema._zod.def;\n const checks = currDef.checks;\n const hasChecks = checks && checks.length > 0;\n if (hasChecks) {\n throw new Error(\".pick() cannot be used on object schemas containing refinements\");\n }\n const newShape = {};\n mirrorShape(newShape, schema, maskedKeys(schema, mask));\n return clone(schema, mergeDefs(currDef, { shape: newShape, checks: [] }));\n}\n// the mask keys that select something, checked against the source's shape without resolving it\nfunction maskedKeys(schema, mask) {\n const raw = sourceShape(schema);\n const keys = [];\n // `for...in` skips symbols, so a symbol in the mask would select nothing\n for (const key of Reflect.ownKeys(mask)) {\n if (!Object.getOwnPropertyDescriptor(raw, key)?.enumerable) {\n throw new Error(`Unrecognized key: \"${String(key)}\"`);\n }\n if (mask[key])\n keys.push(key);\n }\n return keys;\n}\nexport function omit(schema, mask) {\n const currDef = schema._zod.def;\n const checks = currDef.checks;\n const hasChecks = checks && checks.length > 0;\n if (hasChecks) {\n throw new Error(\".omit() cannot be used on object schemas containing refinements\");\n }\n const omitted = new Set(maskedKeys(schema, mask));\n const newShape = {};\n mirrorShape(newShape, schema, Reflect.ownKeys(sourceShape(schema)).filter((key) => !omitted.has(key)));\n return clone(schema, mergeDefs(currDef, { shape: newShape, checks: [] }));\n}\nexport function extend(schema, shape) {\n if (!isPlainObject(shape)) {\n throw new Error(\"Invalid input to extend: expected a plain object\");\n }\n const checks = schema._zod.def.checks;\n const hasChecks = checks && checks.length > 0;\n if (hasChecks) {\n // Only throw if new shape overlaps with existing shape. Use getOwnPropertyDescriptor to check key existence without accessing values\n const existingShape = sourceShape(schema);\n for (const key of Reflect.ownKeys(shape)) {\n if (Object.getOwnPropertyDescriptor(existingShape, key) !== undefined) {\n throw new Error(\"Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.\");\n }\n }\n }\n return clone(schema, mergeDefs(schema._zod.def, { shape: extended(schema, shape) }));\n}\n// the source's keys, then the caller's overlaid on top\nfunction extended(schema, shape) {\n const newShape = {};\n mirrorShape(newShape, schema, Reflect.ownKeys(sourceShape(schema)));\n mirrorProps(newShape, shape);\n return newShape;\n}\nexport function safeExtend(schema, shape) {\n if (!isPlainObject(shape)) {\n throw new Error(\"Invalid input to safeExtend: expected a plain object\");\n }\n return clone(schema, mergeDefs(schema._zod.def, { shape: extended(schema, shape) }));\n}\nexport function merge(a, b) {\n if (!b?._zod?.def) {\n throw new Error(\"Invalid input to merge: expected an object schema. To merge a plain shape, use `.extend()`.\");\n }\n if (a._zod.def.checks?.length) {\n throw new Error(\".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.\");\n }\n const newShape = {};\n mirrorShape(newShape, a, Reflect.ownKeys(sourceShape(a)));\n mirrorShape(newShape, b, Reflect.ownKeys(sourceShape(b)));\n const def = mergeDefs(a._zod.def, {\n shape: newShape,\n get catchall() {\n return b._zod.def.catchall;\n },\n checks: b._zod.def.checks ?? [],\n });\n return clone(a, def);\n}\nexport function partial(Class, schema, mask, name = \"partial\") {\n const currDef = schema._zod.def;\n const checks = currDef.checks;\n const hasChecks = checks && checks.length > 0;\n if (hasChecks) {\n throw new Error(`.${name}() cannot be used on object schemas containing refinements`);\n }\n const selected = mask ? new Set(maskedKeys(schema, mask)) : undefined;\n const newShape = {};\n mirrorShape(newShape, schema, Reflect.ownKeys(sourceShape(schema)), Class &&\n ((value, key) => (selected && !selected.has(key) ? value : new Class({ type: \"optional\", innerType: value }))));\n return clone(schema, mergeDefs(schema._zod.def, { shape: newShape, checks: [] }));\n}\nexport function required(Class, schema, mask) {\n const selected = mask ? new Set(maskedKeys(schema, mask)) : undefined;\n const newShape = {};\n mirrorShape(newShape, schema, Reflect.ownKeys(sourceShape(schema)), (value, key) => \n // overwrite with non-optional\n selected && !selected.has(key) ? value : new Class({ type: \"nonoptional\", innerType: value }));\n return clone(schema, mergeDefs(schema._zod.def, { shape: newShape }));\n}\n// invalid_type | too_big | too_small | invalid_format | not_multiple_of | unrecognized_keys | invalid_union | invalid_key | invalid_element | invalid_value | custom\nexport function aborted(x, startIndex = 0) {\n if (x.aborted === true)\n return true;\n for (let i = startIndex; i < x.issues.length; i++) {\n if (x.issues[i]?.continue !== true) {\n return true;\n }\n }\n return false;\n}\n// Checks for explicit abort (continue === false), as opposed to implicit abort (continue === undefined). Used to respect `abort: true` in .refine() even for checks that have a `when` function.\nexport function explicitlyAborted(x, startIndex = 0) {\n if (x.aborted === true)\n return true;\n for (let i = startIndex; i < x.issues.length; i++) {\n if (x.issues[i]?.continue === false) {\n return true;\n }\n }\n return false;\n}\nexport function prefixIssues(path, issues) {\n return issues.map((iss) => {\n var _a;\n (_a = iss).path ?? (_a.path = []);\n iss.path.unshift(path);\n return iss;\n });\n}\nexport function unwrapMessage(message) {\n return typeof message === \"string\" ? message : message?.message;\n}\n/* A check holds no link back to the schema it is attached to \u2014 the same check instance is shared by every clone of that schema \u2014 so the owner is stamped onto the issues a check just raised, at the only point where both are in scope. Runs on the failure path only; `start` is the issue count from before the check ran. */\nexport function attachSchema(issues, start, inst) {\n var _a;\n for (let i = start; i < issues.length; i++) {\n (_a = issues[i]).schema ?? (_a.schema = inst);\n }\n}\nexport function finalizeIssue(iss, ctx, config) {\n var _a;\n // A schema that raised an issue itself owns it outright, and outranks any stamp an enclosing check left in `attachSchema`. String formats and z.custom() are schema and check at once, so when they act as a check they defer to that stamp instead.\n const traits = iss.inst?._zod?.traits;\n if (traits?.has(\"$ZodType\")) {\n if (traits.has(\"$ZodCheck\"))\n (_a = iss).schema ?? (_a.schema = iss.inst);\n else\n iss.schema = iss.inst;\n }\n // Decreasing specificity, first map to return a message wins. `inst` is whatever raised the issue, so a check's own map outranks the owning schema's.\n const schemaError = iss.schema !== iss.inst ? iss.schema?._zod.def?.error : undefined;\n const message = iss.message\n ? iss.message\n : (unwrapMessage(iss.inst?._zod.def?.error?.(iss)) ??\n unwrapMessage(schemaError?.(iss)) ??\n unwrapMessage(ctx?.error?.(iss)) ??\n unwrapMessage(config.customError?.(iss)) ??\n unwrapMessage(config.localeError?.(iss)) ??\n \"Invalid input\");\n // an explicit own-key copy beats object rest with excluded keys, which v8 routes through a generic runtime call; Object.keys rather than for-in so an issue pushed with a prototype does not leak inherited keys, and an own __proto__ key is dropped rather than assigned through the setter\n const full = {};\n for (const k of Object.keys(iss)) {\n if (k === \"inst\" || k === \"schema\" || k === \"continue\" || k === \"input\" || k === \"__proto__\")\n continue;\n full[k] = iss[k];\n }\n full.path ?? (full.path = []);\n full.message = message;\n if (ctx?.reportInput) {\n full.input = iss.input;\n }\n return full;\n}\nexport function getSizableOrigin(input) {\n if (input instanceof Set)\n return \"set\";\n if (input instanceof Map)\n return \"map\";\n // @ts-ignore\n if (input instanceof File)\n return \"file\";\n return \"unknown\";\n}\nconst highSurrogate = /[\\uD800-\\uDBFF]/;\n// Code points in `str`: a surrogate pair counts once, a lone surrogate as itself. Hand-rolled because the string iterator allocates and runs ~250x slower on this path; the regex probe exits ~50x quicker for a string with no astral characters.\nexport function codePointLength(str) {\n const units = str.length;\n if (!highSurrogate.test(str))\n return units;\n let count = units;\n for (let i = 0; i < units - 1; i++) {\n if ((str.charCodeAt(i) & 0xfc00) === 0xd800 && (str.charCodeAt(i + 1) & 0xfc00) === 0xdc00) {\n count--;\n i++;\n }\n }\n return count;\n}\nexport function getLengthableOrigin(input) {\n if (Array.isArray(input))\n return \"array\";\n if (typeof input === \"string\")\n return \"string\";\n return \"unknown\";\n}\nexport function parsedType(data) {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"nan\" : \"number\";\n }\n case \"object\": {\n if (data === null) {\n return \"null\";\n }\n if (Array.isArray(data)) {\n return \"array\";\n }\n const obj = data;\n if (obj && Object.getPrototypeOf(obj) !== Object.prototype && \"constructor\" in obj && obj.constructor) {\n return obj.constructor.name;\n }\n }\n }\n return t;\n}\nexport function issue(...args) {\n const [iss, input, inst] = args;\n if (typeof iss === \"string\") {\n return {\n message: iss,\n code: \"custom\",\n input,\n inst,\n };\n }\n return { ...iss };\n}\nexport function cleanEnum(obj) {\n return Object.entries(obj)\n .filter(([k, _]) => {\n // return true if NaN, meaning it's not a number, thus a string key\n return Number.isNaN(Number.parseInt(k, 10));\n })\n .map((el) => el[1]);\n}\n// Codec utility functions\nexport function base64ToUint8Array(base64) {\n const binaryString = atob(base64);\n const bytes = new Uint8Array(binaryString.length);\n for (let i = 0; i < binaryString.length; i++) {\n bytes[i] = binaryString.charCodeAt(i);\n }\n return bytes;\n}\nexport function uint8ArrayToBase64(bytes) {\n let binaryString = \"\";\n for (let i = 0; i < bytes.length; i++) {\n binaryString += String.fromCharCode(bytes[i]);\n }\n return btoa(binaryString);\n}\nexport function base64urlToUint8Array(base64url) {\n const base64 = base64url.replace(/-/g, \"+\").replace(/_/g, \"/\");\n const padding = \"=\".repeat((4 - (base64.length % 4)) % 4);\n return base64ToUint8Array(base64 + padding);\n}\nexport function uint8ArrayToBase64url(bytes) {\n return uint8ArrayToBase64(bytes).replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=/g, \"\");\n}\nexport function hexToUint8Array(hex) {\n const cleanHex = hex.replace(/^0x/, \"\");\n if (cleanHex.length % 2 !== 0) {\n throw new Error(\"Invalid hex string length\");\n }\n const bytes = new Uint8Array(cleanHex.length / 2);\n for (let i = 0; i < cleanHex.length; i += 2) {\n bytes[i / 2] = Number.parseInt(cleanHex.slice(i, i + 2), 16);\n }\n return bytes;\n}\nexport function uint8ArrayToHex(bytes) {\n return Array.from(bytes)\n .map((b) => b.toString(16).padStart(2, \"0\"))\n .join(\"\");\n}\n// instanceof\nexport class Class {\n constructor(..._args) { }\n}\n////////// PROTOTYPE INSTALLERS //////////\n//\n// Members live on the prototype and materialize per instance on first read, which keeps own-property count under the step where V8 stops using inline slots. Changing anything here means re-measuring runtime, memory and bundle size together \u2014 see \"The three axes\" in AGENTS.md.\n/**\n * Installs a trait's members on its prototype. Each value builds that member for the instance on first read; the built value shadows the accessor as an own property, so a detached `const { parse } = schema` keeps working.\n *\n * Call this from a `proto` initializer, which runs once per prototype \u2014 never per instance.\n */\nexport function members(proto, table) {\n for (const key in table) {\n const desc = Object.getOwnPropertyDescriptor(table, key);\n // a getter installs as written, so it stays live: `description` reads through to the registry on every access. not enumerable: an object literal's is, and a prototype member never was\n if (desc.get)\n Object.defineProperty(proto, key, { ...desc, enumerable: false });\n // a method materializes bound on first read, which is what keeps a detached member working: `const opt = schema.optional; opt()`\n else\n defineBound(proto, key, desc.value);\n }\n}\n/** Shadows a prototype member with an own value, so a getter that builds from the instance runs once. */\nexport function own(inst, key, value, enumerable = true) {\n Object.defineProperty(inst, key, { configurable: true, writable: true, enumerable, value });\n return value;\n}\n/** Like {@link own}, for a member that was never an own data property and has to stay out of `Object.keys`. */\nexport function hide(inst, key, value) {\n return own(inst, key, value, false);\n}\n/** Adds members a table derives from the instance: each builds on first read and shadows as own data, and assignment shadows the same way, as when these were own properties. */\nexport /*@__NO_SIDE_EFFECTS__*/ function derived(computes, table) {\n for (const key in computes) {\n const compute = computes[key];\n // an object literal's accessor is configurable and enumerable, and `members` copies the descriptor as written\n Object.defineProperty(table, key, {\n configurable: true,\n enumerable: true,\n get() {\n return own(this, key, compute(this));\n },\n set(value) {\n own(this, key, value);\n },\n });\n }\n return table;\n}\nfunction defineBound(proto, key, fn) {\n Object.defineProperty(proto, key, {\n configurable: true,\n get() {\n // vitest's spyOn calls a prototype getter bare to find the function it wraps, so a nullish receiver answers the raw method\n return this == null ? fn : own(this, key, fn.bind(this));\n },\n set(value) {\n own(this, key, value);\n },\n });\n}\n/** Returns the prototype to install on, or `undefined` if this group is already installed on it. */\nfunction claim(inst, sentinel) {\n const proto = Object.getPrototypeOf(inst);\n // Runs on every construction, so `in` rather than the costlier `hasOwnProperty.call`. Sentinels are keys the group itself defines.\n return sentinel in proto ? undefined : proto;\n}\n// The internals whose init chain is installing. A second call for the same one is a derived constructor overriding its base, so it must not construct another schema in between or the override is dropped.\nlet installing;\n// Set while a getter is running, so a value that resolved through a recursion break is not memoized. One shared descriptor shadows the key for the duration, which costs no per-key allocation.\nlet broke = false;\nconst breaker = {\n configurable: true,\n get() {\n broke = true;\n return undefined;\n },\n};\n/**\n * Installs a lazily-derived internal on the `_zod` prototype of `inst`'s\n * constructor, computed from the internals object itself and cached there on\n * first read. One accessor per constructor rather than one per instance.\n */\nexport function defineLazyInternal(inst, key, compute) {\n const proto = Object.getPrototypeOf(inst._zod);\n if (key in proto && installing !== inst._zod) {\n // A repeat construction: everything is installed already. Cleared here so the reference is not held past the first construction of every type.\n installing = undefined;\n return;\n }\n installing = inst._zod;\n Object.defineProperty(proto, key, {\n configurable: true,\n get() {\n // Shadowed before computing so a re-entrant read from a recursive schema resolves to undefined instead of running the getter again.\n Object.defineProperty(this, key, breaker);\n const outer = broke;\n broke = false;\n try {\n const value = compute(this);\n // A result that resolved through a recursion break is recomputed once the graph is complete; everything else memoizes, undefined included.\n if (broke)\n delete this[key];\n else\n Object.defineProperty(this, key, { configurable: true, writable: true, value });\n broke = broke || outer;\n return value;\n }\n catch (err) {\n // A compute that threw memoizes nothing, so a later read runs it again and fails the same way. The shadow goes with it, since leaving it installed would answer undefined for every later read.\n delete this[key];\n broke = broke || outer;\n throw err;\n }\n },\n set(value) {\n Object.defineProperty(this, key, { configurable: true, writable: true, value });\n },\n });\n}\n/**\n * Installs `key` on `inst`'s prototype, computed by `make` on first read and cached there as an own\n * data property. One accessor per constructor rather than one per instance, because an own accessor\n * puts every instance after the first into v8 dictionary mode. The key doubles as the sentinel.\n */\nexport function installLazyProp(inst, key, make, enumerable) {\n const proto = claim(inst, key);\n if (!proto)\n return;\n Object.defineProperty(proto, key, {\n configurable: true,\n get() {\n // Shadowed before computing, so a re-entrant read from a self-referential shape resolves to undefined instead of running the getter again. A data property rather than an accessor: an own accessor is the dictionary-mode transition this exists to avoid.\n const desc = { configurable: true, writable: true, enumerable, value: undefined };\n Object.defineProperty(this, key, desc);\n // a compute that throws leaves the shadow behind, so later reads answer undefined instead of re-throwing; `defineLazy` did the same, and `defineLazyInternal`'s delete-on-catch would cost bytes in every bundle for a case only a throwing user getter reaches\n desc.value = make(this);\n Object.defineProperty(this, key, desc);\n return desc.value;\n },\n set(value) {\n Object.defineProperty(this, key, { configurable: true, writable: true, enumerable, value });\n },\n });\n}\n/** Marks the thunk `_catch` synthesises for a constant catch value. `Function.length` cannot tell that thunk from a user callback \u2014 rest and defaulted parameters both report arity 0 \u2014 and a user callback reads `ctx.error`, whose issues only finalize correctly against the caller's per-parse error map. Provenance can say what arity cannot. A plain string key rather than `Symbol.for`, whose call at module scope no bundler can prove pure \u2014 the same shape that anchored `urlCanParse` into every build. */\nexport const CONSTANT_CATCH = \"~constantCatch\";\n/** Wraps a constant catch value in a thunk tagged with {@link CONSTANT_CATCH}. */\nexport function constantCatch(value) {\n const fn = () => value;\n fn[CONSTANT_CATCH] = true;\n return fn;\n}\n", "var _a;\nimport { members as installMembers } from \"./util.js\";\n/** A special constant with type `never` */\nexport const NEVER = /*@__PURE__*/ Object.freeze({\n status: \"aborted\",\n});\n/* Shared descriptor for installing `_zod`; defineProperty reads it\n * synchronously, so reusing one object avoids a per-instance allocation. */\nconst _zodDesc = { value: undefined, enumerable: false };\n// null where suppressing the capture would be unrecoverable: `parse()` puts the frames back with `captureStackTrace`, so without it the throw would lose its stack. also latched to null once `stackTraceLimit` proves unassignable, which a realm can do at any point by hardening Error\nlet _E = \"captureStackTrace\" in Error ? Error : null;\n// v8 captures a stack trace inside the Error constructor, which dominates a failed parse; costs only the frames, and parse() restores those. the constructor must RUN: Object.create is cheaper and passes instanceof, but Error.isError and util.types.isNativeError check an internal slot\nfunction newError(Definition) {\n const E = _E;\n if (E) {\n const saved = E.stackTraceLimit;\n if (typeof saved === \"number\") {\n try {\n E.stackTraceLimit = 0;\n }\n catch {\n _E = null;\n return new Definition();\n }\n try {\n return new Definition();\n }\n finally {\n E.stackTraceLimit = saved;\n }\n }\n }\n return new Definition();\n}\nexport /*@__NO_SIDE_EFFECTS__*/ function $constructor(name, initializer, \n/** This trait's members, installed once on every prototype that composes it. They cannot be declared in the initializer above: that runs per instance, and the prototype is shared. */\nproto, params) {\n // Prototype for this constructor's `_zod` internals. Lazily-derived fields (`values`, `pattern`, `optin`, \u2026) install here once rather than as an accessor on every instance.\n const zodProto = {};\n // Assigning the fields in the constructor body is what gives instances in-object slots; building the object literally and reparenting it costs a second allocation and a generic property copy.\n function Internals(def) {\n this.def = def;\n this.constr = _;\n this.traits = new Set();\n }\n Internals.prototype = zodProto;\n const protoMembers = proto;\n // One trait's members land on every prototype whose chain composes it, so the answer is per prototype rather than per trait.\n const initialized = protoMembers && new WeakSet();\n function init(inst, def) {\n if (!inst._zod) {\n _zodDesc.value = new Internals(def);\n try {\n Object.defineProperty(inst, \"_zod\", _zodDesc);\n }\n finally {\n // Cleared even on throw, so the shared descriptor never leaks one instance's internals into the next.\n _zodDesc.value = undefined;\n }\n }\n else if (inst._zod.traits.has(name)) {\n return;\n }\n inst._zod.traits.add(name);\n initializer(inst, def);\n if (initialized) {\n // `super(def)` from a user subclass gives `this` a prototype the subclass owns, and installing there would overwrite whatever the subclass declared. `constr` built the instance, so its prototype is the one below the subclass's that should carry the members. A receiver whose chain never reaches that prototype installs on its own, which for a plain object handed straight to `init` means `Object.prototype` \u2014 unchanged from before.\n const own = Object.getPrototypeOf(inst);\n const ctorProto = inst._zod.constr.prototype;\n let up = own;\n while (up && up !== ctorProto)\n up = Object.getPrototypeOf(up);\n const target = up ?? own;\n if (!initialized.has(target)) {\n initialized.add(target);\n installMembers(target, protoMembers);\n }\n }\n // support prototype modifications; for-in avoids the array allocation of Object.keys on the (usually empty) prototype\n const proto = _.prototype;\n for (const k in proto) {\n if (!Object.prototype.hasOwnProperty.call(proto, k))\n continue;\n if (!(k in inst)) {\n inst[k] = proto[k].bind(inst);\n }\n }\n }\n // doesn't work if Parent has a constructor with arguments\n const Parent = params?.Parent ?? Object;\n class Definition extends Parent {\n }\n Object.defineProperty(Definition, \"name\", { value: name });\n function _(def) {\n const inst = params?.Parent ? newError(Definition) : this;\n init(inst, def);\n const deferred = inst._zod.deferred;\n if (deferred) {\n for (const fn of deferred) {\n fn();\n }\n // Released: initializers run once, and the list would otherwise be retained for the schema's lifetime.\n inst._zod.deferred = undefined;\n }\n // Global post-processor hook. Internal: installed by `import \"zod/compile\"` to enable AOT compilation for every constructed schema. Runs last, once the instance is fully built, because it hands the instance to compile(). The post-processor is expected to be reentrancy-guarded by its own implementation.\n const pp = globalThis.__zod_globalConfig?.postProcessor;\n if (pp)\n pp(inst);\n return inst;\n }\n Object.defineProperty(_, \"init\", { value: init });\n Object.defineProperty(_, Symbol.hasInstance, {\n value: (inst) => {\n if (params?.Parent && inst instanceof params.Parent)\n return true;\n return inst?._zod?.traits?.has(name);\n },\n });\n Object.defineProperty(_, \"name\", { value: name });\n return _;\n}\n////////////////////////////// UTILITIES ///////////////////////////////////////\nexport const $brand = /*@__PURE__*/ Symbol(\"zod_brand\");\nexport class $ZodAsyncError extends Error {\n constructor() {\n super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`);\n }\n}\nexport class $ZodEncodeError extends Error {\n constructor(name) {\n super(`Encountered unidirectional transform during encode: ${name}`);\n this.name = \"ZodEncodeError\";\n }\n}\n(_a = globalThis).__zod_globalConfig ?? (_a.__zod_globalConfig = {});\nexport const globalConfig = globalThis.__zod_globalConfig;\nexport function config(newConfig) {\n if (newConfig)\n Object.assign(globalConfig, newConfig);\n return globalConfig;\n}\n", "import { $constructor } from \"./core.js\";\nimport * as util from \"./util.js\";\n/* Computing the message eagerly is expensive (pretty-printed JSON of all\n * issues), so defer it until first read. The accessor functions and\n * descriptors are shared across instances to keep error construction\n * cheap; the computed message is cached on the internals object. The\n * setter preserves plain assignment semantics for consumers that\n * overwrite `message`. */\nfunction _getMessage() {\n const internals = this._zod;\n internals.message ?? (internals.message = JSON.stringify(internals.def, util.jsonStringifyReplacer, 2));\n return internals.message;\n}\nfunction _setMessage(value) {\n this._zod.message = value;\n}\nconst _messageDesc = {\n get: _getMessage,\n set: _setMessage,\n enumerable: true,\n configurable: true,\n};\nconst _issuesDesc = { value: undefined, enumerable: false };\n/* Prototypes that already carry the lazy `toString`. Seeded with the\n * intrinsics so that `init` on a foreign object \u2014 it accepts any object \u2014\n * can never install an accessor onto a prototype we do not own. */\nconst _installedToString = /* @__PURE__ */ new WeakSet([Object.prototype, Error.prototype]);\nconst initializer = (inst, def) => {\n inst.name = \"$ZodError\";\n // `_zod` is already non-enumerable: $constructor's init defined it with this same descriptor\n _issuesDesc.value = def;\n Object.defineProperty(inst, \"issues\", _issuesDesc);\n // Clear the shared slot; a retained `value` pins the last error's issues.\n _issuesDesc.value = undefined;\n Object.defineProperty(inst, \"message\", _messageDesc);\n /* `toString` lives as a non-enumerable lazy getter on the shared\n * prototype; on first access it caches a per-instance closure so\n * detached usage still works. */\n const proto = Object.getPrototypeOf(inst);\n if (!_installedToString.has(proto)) {\n _installedToString.add(proto);\n Object.defineProperty(proto, \"toString\", {\n configurable: true,\n enumerable: false,\n get() {\n const value = () => this.message;\n Object.defineProperty(this, \"toString\", { value, configurable: true, writable: true });\n return value;\n },\n set(value) {\n Object.defineProperty(this, \"toString\", { value, configurable: true, writable: true });\n },\n });\n }\n};\nexport const $ZodError = $constructor(\"$ZodError\", initializer);\nexport const $ZodRealError = $constructor(\"$ZodError\", initializer, undefined, {\n Parent: Error,\n});\n/** Get-or-create `obj[key]` as an own data property. A path segment naming an inherited member\n * (\"toString\", \"constructor\") would otherwise read through to the prototype, and assigning\n * \"__proto__\" would hit the setter instead of creating a key. */\nfunction node(obj, key, make) {\n if (!Object.prototype.hasOwnProperty.call(obj, key)) {\n if (key === \"__proto__\") {\n Object.defineProperty(obj, key, { value: make(), writable: true, enumerable: true, configurable: true });\n }\n else {\n obj[key] = make();\n }\n }\n return obj[key];\n}\nexport function flattenError(error, mapper = (issue) => issue.message) {\n const fieldErrors = {};\n const formErrors = [];\n for (const sub of error.issues) {\n if (sub.path.length > 0) {\n node(fieldErrors, sub.path[0], () => []).push(mapper(sub));\n }\n else {\n formErrors.push(mapper(sub));\n }\n }\n return { formErrors, fieldErrors };\n}\nexport function formatError(error, mapper = (issue) => issue.message) {\n const fieldErrors = { _errors: [] };\n const processError = (error, path = []) => {\n for (const issue of error.issues) {\n if (issue.code === \"invalid_union\" && issue.errors.length) {\n issue.errors.map((issues) => processError({ issues }, [...path, ...issue.path]));\n }\n else if (issue.code === \"invalid_key\") {\n processError({ issues: issue.issues }, [...path, ...issue.path]);\n }\n else if (issue.code === \"invalid_element\") {\n processError({ issues: issue.issues }, [...path, ...issue.path]);\n }\n else {\n const fullpath = [...path, ...issue.path];\n if (fullpath.length === 0) {\n fieldErrors._errors.push(mapper(issue));\n }\n else {\n let curr = fieldErrors;\n let i = 0;\n while (i < fullpath.length) {\n const el = fullpath[i];\n const terminal = i === fullpath.length - 1;\n // `_errors` is reserved by this legacy format, so merge a matching path segment into the current node instead of treating its array as a child.\n if (el === \"_errors\") {\n if (terminal)\n curr._errors.push(mapper(issue));\n i++;\n continue;\n }\n // A path element may collide with an inherited property name such as\n // \"__proto__\" or \"constructor\". Truthiness checks read the prototype\n // (so no node is created, then ._errors.push throws), and bracket\n // assignment of \"__proto__\" hits the setter instead of creating an\n // own key. Guard the read with hasOwnProperty and create the node\n // with defineProperty so any path element becomes a real own key.\n if (!Object.prototype.hasOwnProperty.call(curr, el)) {\n Object.defineProperty(curr, el, {\n value: { _errors: [] },\n enumerable: true,\n writable: true,\n configurable: true,\n });\n }\n const node = curr[el];\n if (terminal) {\n node._errors.push(mapper(issue));\n }\n curr = node;\n i++;\n }\n }\n }\n }\n };\n processError(error);\n return fieldErrors;\n}\nexport function treeifyError(error, mapper = (issue) => issue.message) {\n const result = { errors: [] };\n const processError = (error, path = []) => {\n var _a;\n for (const issue of error.issues) {\n if (issue.code === \"invalid_union\" && issue.errors.length) {\n // regular union error\n issue.errors.map((issues) => processError({ issues }, [...path, ...issue.path]));\n }\n else if (issue.code === \"invalid_key\") {\n processError({ issues: issue.issues }, [...path, ...issue.path]);\n }\n else if (issue.code === \"invalid_element\") {\n processError({ issues: issue.issues }, [...path, ...issue.path]);\n }\n else {\n const fullpath = [...path, ...issue.path];\n if (fullpath.length === 0) {\n result.errors.push(mapper(issue));\n continue;\n }\n let curr = result;\n let i = 0;\n while (i < fullpath.length) {\n const el = fullpath[i];\n const terminal = i === fullpath.length - 1;\n if (typeof el === \"string\") {\n curr.properties ?? (curr.properties = {});\n // el may collide with an inherited property name (\"__proto__\",\n // \"constructor\", ...); ??= reads the prototype so the node is never\n // created and curr.errors.push throws. Guard with hasOwnProperty and\n // create the node with defineProperty so \"__proto__\" becomes a real\n // own key rather than invoking the prototype setter.\n if (!Object.prototype.hasOwnProperty.call(curr.properties, el)) {\n Object.defineProperty(curr.properties, el, {\n value: { errors: [] },\n enumerable: true,\n writable: true,\n configurable: true,\n });\n }\n curr = curr.properties[el];\n }\n else {\n curr.items ?? (curr.items = []);\n (_a = curr.items)[el] ?? (_a[el] = { errors: [] });\n curr = curr.items[el];\n }\n if (terminal) {\n curr.errors.push(mapper(issue));\n }\n i++;\n }\n }\n }\n };\n processError(error);\n return result;\n}\n/** Format a ZodError as a human-readable string in the following form.\n *\n * From\n *\n * ```ts\n * ZodError {\n * issues: [\n * {\n * expected: 'string',\n * code: 'invalid_type',\n * path: [ 'username' ],\n * message: 'Invalid input: expected string'\n * },\n * {\n * expected: 'number',\n * code: 'invalid_type',\n * path: [ 'favoriteNumbers', 1 ],\n * message: 'Invalid input: expected number'\n * }\n * ];\n * }\n * ```\n *\n * to\n *\n * ```\n * username\n * \u2716 Expected number, received string at \"username\n * favoriteNumbers[0]\n * \u2716 Invalid input: expected number\n * ```\n */\nexport function toDotPath(_path) {\n const segs = [];\n const path = _path.map((seg) => (typeof seg === \"object\" ? seg.key : seg));\n for (const seg of path) {\n if (typeof seg === \"number\")\n segs.push(`[${seg}]`);\n else if (typeof seg === \"symbol\")\n segs.push(`[${JSON.stringify(String(seg))}]`);\n else if (/[^\\w$]/.test(seg))\n segs.push(`[${JSON.stringify(seg)}]`);\n else {\n if (segs.length)\n segs.push(\".\");\n segs.push(seg);\n }\n }\n return segs.join(\"\");\n}\nexport function prettifyError(error) {\n const lines = [];\n // sort by path length\n const issues = [...error.issues].sort((a, b) => (a.path ?? []).length - (b.path ?? []).length);\n // Process each issue\n for (const issue of issues) {\n lines.push(`\u2716 ${issue.message}`);\n if (issue.path?.length)\n lines.push(` \u2192 at ${toDotPath(issue.path)}`);\n }\n // Convert Map to formatted string\n return lines.join(\"\\n\");\n}\n", "import * as core from \"./core.js\";\nimport * as errors from \"./errors.js\";\nimport * as util from \"./util.js\";\n// Always both keys, so the `_params` read site in `_parse` sees one object shape rather than two.\nfunction finalizeParams(callee, params) {\n return { callee: params?.callee ?? callee, Err: params?.Err };\n}\nexport const _parse = (_Err) => {\n const fn = (schema, value, _ctx, _params) => {\n const ctx = _ctx ? { ..._ctx, async: false } : { async: false };\n const result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise) {\n throw new core.$ZodAsyncError();\n }\n if (result.issues.length) {\n const e = new (_params?.Err ?? _Err)(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())));\n util.captureStackTrace(e, _params?.callee ?? fn);\n throw e;\n }\n return result.value;\n };\n return fn;\n};\nexport const parse = /* @__PURE__*/ _parse(errors.$ZodRealError);\nexport const _parseAsync = (_Err) => {\n const fn = async (schema, value, _ctx, params) => {\n const ctx = _ctx ? { ..._ctx, async: true } : { async: true };\n let result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise)\n result = await result;\n if (result.issues.length) {\n const e = new (params?.Err ?? _Err)(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())));\n util.captureStackTrace(e, params?.callee ?? fn);\n throw e;\n }\n return result.value;\n };\n return fn;\n};\nexport const parseAsync = /* @__PURE__*/ _parseAsync(errors.$ZodRealError);\nexport const _safeParse = (_Err) => (schema, value, _ctx) => {\n const ctx = _ctx ? { ..._ctx, async: false } : { async: false };\n const result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise) {\n throw new core.$ZodAsyncError();\n }\n return result.issues.length ? failure(_Err, result.issues, ctx) : { success: true, data: result.value };\n};\nexport const safeParse = /* @__PURE__*/ _safeParse(errors.$ZodRealError);\n// the error is built on the first read of `error`: finalizing the issues and constructing the instance is most of a failing parse, and a caller that only branches on `success` never pays it. a getter in the literal keeps this small; the alternative, one shared accessor descriptor plus a hidden state slot, reads ~15% faster but costs ~75 B gzipped in every bundle\nfunction failure(Err, issues, ctx) {\n let error;\n return {\n success: false,\n get error() {\n if (!error) {\n error = new Err(issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())));\n // finalizeIssue drops `input`, so the built error holds nothing; keeping the raw issues past this point pins the parsed value for the life of the result\n issues = undefined;\n ctx = undefined;\n }\n return error;\n },\n set error(e) {\n error = e;\n // a replacement makes the getter's branch unreachable, so the captures have to go here too\n issues = undefined;\n ctx = undefined;\n },\n };\n}\nexport const _safeParseAsync = (_Err) => async (schema, value, _ctx) => {\n const ctx = _ctx ? { ..._ctx, async: true } : { async: true };\n let result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise)\n result = await result;\n return result.issues.length ? failure(_Err, result.issues, ctx) : { success: true, data: result.value };\n};\nexport const safeParseAsync = /* @__PURE__*/ _safeParseAsync(errors.$ZodRealError);\n// registry mirrors of the compiler's sentinels, so this module never imports the compiler\nconst COMPILE_INVALID = /* @__PURE__ */ Symbol.for(\"zod.compile.invalid\");\nconst COMPILE_FALLBACK = /* @__PURE__ */ Symbol.for(\"zod.compile.fallback\");\n// Deliberately tiny, because v8 will not inline a body carrying the fallback's object literals and throw. Everything that is not the compiled happy path lives in validateFallback, and that split is worth ~35% on a compiled schema.\nexport const validate = ((schema, value, _ctx) => {\n const validator = schema._zod.bag.validator;\n if (validator !== undefined) {\n if (validator(value) !== COMPILE_INVALID)\n return true;\n // a definite sentinel means the runtime would reject, so skip the re-parse; a ctx can still change the answer\n if (validator.definite === true && _ctx === undefined)\n return false;\n }\n return validateFallback(schema, value, _ctx);\n});\nfunction validateFallback(schema, value, _ctx) {\n const ctx = _ctx\n ? { ..._ctx, async: false, abortEarly: true }\n : { async: false, abortEarly: true };\n const fallbackRun = schema._zod.bag.fallbackRun;\n let result;\n if (fallbackRun) {\n // skip nested fast paths on the fallback, so user callbacks keep the at-most-twice bound\n ctx[COMPILE_FALLBACK] = true;\n result = fallbackRun({ value, issues: [] }, ctx);\n }\n else {\n result = schema._zod.run({ value, issues: [] }, ctx);\n }\n if (result instanceof Promise) {\n throw new core.$ZodAsyncError();\n }\n return result.issues.length === 0;\n}\n// no fast path: the compiler keeps async parses on the runtime, because a promise-returning callback that is not declared async compiles to a throw\nexport const validateAsync = async (schema, value, _ctx) => {\n const ctx = _ctx\n ? { ..._ctx, async: true, abortEarly: true }\n : { async: true, abortEarly: true };\n let result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise)\n result = await result;\n return result.issues.length === 0;\n};\nexport const _encode = (_Err) => {\n const parse = _parse(_Err);\n const fn = (schema, value, _ctx, _params) => {\n const ctx = _ctx ? { ..._ctx, direction: \"backward\" } : { direction: \"backward\" };\n return parse(schema, value, ctx, finalizeParams(fn, _params));\n };\n return fn;\n};\nexport const encode = /* @__PURE__*/ _encode(errors.$ZodRealError);\nexport const _decode = (_Err) => {\n const parse = _parse(_Err);\n const fn = (schema, value, _ctx, _params) => {\n return parse(schema, value, _ctx, finalizeParams(fn, _params));\n };\n return fn;\n};\nexport const decode = /* @__PURE__*/ _decode(errors.$ZodRealError);\nexport const _encodeAsync = (_Err) => {\n const parseAsync = _parseAsync(_Err);\n const fn = async (schema, value, _ctx, _params) => {\n const ctx = _ctx ? { ..._ctx, direction: \"backward\" } : { direction: \"backward\" };\n return (await parseAsync(schema, value, ctx, finalizeParams(fn, _params)));\n };\n return fn;\n};\nexport const encodeAsync = /* @__PURE__*/ _encodeAsync(errors.$ZodRealError);\nexport const _decodeAsync = (_Err) => {\n const parseAsync = _parseAsync(_Err);\n const fn = async (schema, value, _ctx, _params) => {\n return await parseAsync(schema, value, _ctx, finalizeParams(fn, _params));\n };\n return fn;\n};\nexport const decodeAsync = /* @__PURE__*/ _decodeAsync(errors.$ZodRealError);\nexport const _safeEncode = (_Err) => (schema, value, _ctx) => {\n const ctx = _ctx ? { ..._ctx, direction: \"backward\" } : { direction: \"backward\" };\n return _safeParse(_Err)(schema, value, ctx);\n};\nexport const safeEncode = /* @__PURE__*/ _safeEncode(errors.$ZodRealError);\nexport const _safeDecode = (_Err) => (schema, value, _ctx) => {\n return _safeParse(_Err)(schema, value, _ctx);\n};\nexport const safeDecode = /* @__PURE__*/ _safeDecode(errors.$ZodRealError);\nexport const _safeEncodeAsync = (_Err) => async (schema, value, _ctx) => {\n const ctx = _ctx ? { ..._ctx, direction: \"backward\" } : { direction: \"backward\" };\n return _safeParseAsync(_Err)(schema, value, ctx);\n};\nexport const safeEncodeAsync = /* @__PURE__*/ _safeEncodeAsync(errors.$ZodRealError);\nexport const _safeDecodeAsync = (_Err) => async (schema, value, _ctx) => {\n return _safeParseAsync(_Err)(schema, value, _ctx);\n};\nexport const safeDecodeAsync = /* @__PURE__*/ _safeDecodeAsync(errors.$ZodRealError);\n", "import * as util from \"./util.js\";\n/**\n * @deprecated CUID v1 is deprecated by its authors due to information leakage\n * (timestamps embedded in the id). Use {@link cuid2} instead.\n * See https://github.com/paralleldrive/cuid.\n */\nexport const cuid = /^[cC][0-9a-z]{6,}$/;\nexport const cuid2 = /^[0-9a-z]+$/;\nexport const ulid = /^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/;\nexport const xid = /^[0-9a-vA-V]{20}$/;\nexport const ksuid = /^[A-Za-z0-9]{27}$/;\nexport const nanoid = /^[a-zA-Z0-9_-]{21}$/;\nexport function nanoidOfLength(length) {\n return new RegExp(`^[a-zA-Z0-9_-]{${length}}$`);\n}\n/** ISO 8601-1 duration regex. Does not support the 8601-2 extensions like negative durations or fractional/negative components. */\nexport const duration = /^P(?:(\\d+W)|(?!.*W)(?=\\d|T\\d)(\\d+Y)?(\\d+M)?(\\d+D)?(T(?=\\d)(\\d+H)?(\\d+M)?(\\d+([.,]\\d+)?S)?)?)$/;\n/** Implements ISO 8601-2 extensions like explicit +- prefixes, mixing weeks with other units, and fractional/negative components. */\nexport const extendedDuration = /^[-+]?P(?!$)(?:(?:[-+]?\\d+Y)|(?:[-+]?\\d+[.,]\\d+Y$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:(?:[-+]?\\d+W)|(?:[-+]?\\d+[.,]\\d+W$))?(?:(?:[-+]?\\d+D)|(?:[-+]?\\d+[.,]\\d+D$))?(?:T(?=[\\d+-])(?:(?:[-+]?\\d+H)|(?:[-+]?\\d+[.,]\\d+H$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:[-+]?\\d+(?:[.,]\\d+)?S)?)??$/;\n/** A regex for any UUID-like identifier: 8-4-4-4-12 hex pattern */\nexport const guid = /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/;\n/** Returns a regex for validating an RFC 9562/4122 UUID.\n *\n * @param version Optionally specify a version 1-8. If no version is specified, all versions are supported. */\nexport const uuid = (version) => {\n if (!version)\n return /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;\n return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${version}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`);\n};\nexport const uuid4 = /*@__PURE__*/ uuid(4);\nexport const uuid6 = /*@__PURE__*/ uuid(6);\nexport const uuid7 = /*@__PURE__*/ uuid(7);\n/** Practical email validation */\nexport const email = /^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$/;\n/** Equivalent to the HTML5 input[type=email] validation implemented by browsers. Source: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/email */\nexport const html5Email = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n/** The classic emailregex.com regex for RFC 5322-compliant emails */\nexport const rfc5322Email = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n/** A loose regex that allows Unicode characters, enforces length limits, and that's about it. */\nexport const unicodeEmail = /^[^\\s@\"]{1,64}@[^\\s@]{1,255}$/u;\nexport const idnEmail = unicodeEmail;\nexport const browserEmail = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n// from https://thekevinscott.com/emojis-in-javascript/#writing-a-regular-expression\n// Single character class, not an alternation: the two properties overlap (U+1F9B0-U+1F9B3), so `(A|B)+` backtracks exponentially on a failed match. The leading lookahead then demands one anchor \u2014 a pictograph, a regional indicator, or the enclosing keycap \u2014 because `\\p{Emoji_Component}` on its own covers ASCII digits, `#`, `*`, ZWJ, variation selectors and skin tone modifiers, none of which is an emoji without a base.\nconst _emoji = `^(?=[\\\\s\\\\S]*[\\\\p{Extended_Pictographic}\\\\p{Regional_Indicator}\\\\u20E3])[\\\\p{Extended_Pictographic}\\\\p{Emoji_Component}]+$`;\nexport function emoji() {\n return new RegExp(_emoji, \"u\");\n}\nexport const ipv4 = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;\nexport const ipv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/;\nexport const mac = (delimiter) => {\n const escapedDelim = util.escapeRegex(delimiter ?? \":\");\n return new RegExp(`^(?:[0-9A-F]{2}${escapedDelim}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${escapedDelim}){5}[0-9a-f]{2}$`);\n};\nexport const cidrv4 = /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\/([0-9]|[1-2][0-9]|3[0-2])$/;\nexport const cidrv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/;\n// https://stackoverflow.com/questions/7860392/determine-if-string-is-in-base64-using-javascript\nexport const base64 = /^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/;\nexport const base64url = /^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2,3})?$/;\n// based on https://stackoverflow.com/questions/106179/regular-expression-to-match-dns-hostname-or-ip-address\n// export const hostname: RegExp = /^([a-zA-Z0-9-]+\\.)*[a-zA-Z0-9-]+$/;\nexport const hostname = /^(?=.{1,253}\\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\\.?$/;\nexport const domain = /^(?=.{1,253}$)([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,63}$/;\nexport const httpProtocol = /^https?$/;\n// https://blog.stevenlevithan.com/archives/validate-phone-number#r4-3 (regex sans spaces) E.164: leading digit must be 1-9; total digits (excluding '+') between 7-15\nexport const e164 = /^\\+[1-9]\\d{6,14}$/;\n// Credit card shape: 12\u201319 digits, optionally separated by single spaces or single hyphens. ISO/IEC 7812 caps the PAN at 19 digits; 12 is the shortest issued length (Maestro).\nexport const creditCard = /^\\d(?:[ -]?\\d){11,18}$/;\n// ISO 4217 alpha codes from the SIX list, regenerated by scripts/update-iso-4217.ts\nexport const currencyCode = /^(?:AED|AFN|ALL|AMD|AOA|ARS|AUD|AWG|AZN|BAM|BBD|BDT|BHD|BIF|BMD|BND|BOB|BOV|BRL|BSD|BTN|BWP|BYN|BZD|CAD|CDF|CHE|CHF|CHW|CLF|CLP|CNY|COP|COU|CRC|CUP|CVE|CZK|DJF|DKK|DOP|DZD|EGP|ERN|ETB|EUR|FJD|FKP|GBP|GEL|GHS|GIP|GMD|GNF|GTQ|GYD|HKD|HNL|HTG|HUF|IDR|ILS|INR|IQD|IRR|ISK|JMD|JOD|JPY|KES|KGS|KHR|KMF|KPW|KRW|KWD|KYD|KZT|LAK|LBP|LKR|LRD|LSL|LYD|MAD|MDL|MGA|MKD|MMK|MNT|MOP|MRU|MUR|MVR|MWK|MXN|MXV|MYR|MZN|NAD|NGN|NIO|NOK|NPR|NZD|OMR|PAB|PEN|PGK|PHP|PKR|PLN|PYG|QAR|RON|RSD|RUB|RWF|SAR|SBD|SCR|SDG|SEK|SGD|SHP|SLE|SOS|SRD|SSP|STN|SVC|SYP|SZL|THB|TJS|TMT|TND|TOP|TRY|TTD|TWD|TZS|UAH|UGX|USD|USN|UYI|UYU|UYW|UZS|VED|VES|VND|VUV|WST|XAD|XAF|XAG|XAU|XBA|XBB|XBC|XBD|XCD|XCG|XDR|XOF|XPD|XPF|XPT|XSU|XTS|XUA|XXX|YER|ZAR|ZMW|ZWG)$/;\n// iban electronic format: 2-letter country, check digits 02-98 (the only values `98 - remainder` can produce), 11-30 bban characters\nexport const iban = /^[A-Z]{2}(?!00|01|99)\\d{2}[A-Z0-9]{11,30}$/;\nconst dateSource = `(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))`;\n/** Anchors a pattern source. The interpolation lives here rather than at the call site because\n * esbuild will not drop a `@__PURE__` call whose own argument interpolates a variable, but it\n * will drop `anchor(dateSource)`. Keeping it inline pinned `date` into every bundle. */\nfunction anchor(source) {\n return new RegExp(`^${source}$`);\n}\nexport const date = /*@__PURE__*/ anchor(dateSource);\nfunction timeSource(args) {\n const hhmm = `(?:[01]\\\\d|2[0-3]):[0-5]\\\\d`;\n const regex = typeof args.precision === \"number\"\n ? args.precision === -1\n ? `${hhmm}`\n : args.precision === 0\n ? `${hhmm}:[0-5]\\\\d`\n : `${hhmm}:[0-5]\\\\d\\\\.\\\\d{${args.precision}}`\n : args.seconds\n ? `${hhmm}:[0-5]\\\\d(?:\\\\.\\\\d+)?`\n : `${hhmm}(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?`;\n return regex;\n}\nexport function time(args) {\n return new RegExp(`^${timeSource(args)}$`);\n}\n// Adapted from https://stackoverflow.com/a/3143231\nexport function datetime(args) {\n const opts = [\"Z\"];\n // if (args.offset) opts.push(`([+-]\\\\d{2}:\\\\d{2})`);\n if (args.offset)\n opts.push(`([+-](?:[01]\\\\d|2[0-3]):[0-5]\\\\d)`);\n // RFC 3339 mandates seconds wherever the time carries a `Z` or an offset, so only the unqualified form `local` adds may omit them\n const qualified = `${timeSource({ precision: args.precision, seconds: true })}(?:${opts.join(\"|\")})`;\n const timeRegex = args.local ? `${qualified}|${timeSource({ precision: args.precision })}` : qualified;\n return new RegExp(`^${dateSource}T(?:${timeRegex})$`);\n}\n// the unbounded form of `string()` as a literal, so every plain string shares one instance instead of building its own\nexport const anyString = /^[\\s\\S]{0,}$/;\nexport const string = (params) => {\n const regex = params ? `[\\\\s\\\\S]{${params?.minimum ?? 0},${params?.maximum ?? \"\"}}` : `[\\\\s\\\\S]*`;\n return new RegExp(`^${regex}$`);\n};\nexport const bigint = /^-?\\d+n?$/;\nexport const integer = /^-?\\d+$/;\nexport const number = /^-?\\d+(?:\\.\\d+)?$/;\nexport const boolean = /^(?:true|false)$/i;\nconst _null = /^null$/i;\nexport { _null as null };\nconst _undefined = /^undefined$/i;\nexport { _undefined as undefined };\n// regex for string with no uppercase letters\nexport const lowercase = /^[^A-Z]*$/;\n// regex for string with no lowercase letters\nexport const uppercase = /^[^a-z]*$/;\n// regex for hexadecimal strings (any length)\nexport const hex = /^[0-9a-fA-F]*$/;\n// Hash regexes for different algorithms and encodings\n// Helper function to create base64 regex with exact length and padding\nfunction fixedBase64(bodyLength, padding) {\n return new RegExp(`^[A-Za-z0-9+/]{${bodyLength}}${padding}$`);\n}\n// Helper function to create base64url regex with exact length (no padding)\nfunction fixedBase64url(length) {\n return new RegExp(`^[A-Za-z0-9_-]{${length}}$`);\n}\n// MD5 (16 bytes): base64 = 24 chars total (22 + \"==\")\nexport const md5_hex = /^[0-9a-fA-F]{32}$/;\nexport const md5_base64 = /*@__PURE__*/ fixedBase64(22, \"==\");\nexport const md5_base64url = /*@__PURE__*/ fixedBase64url(22);\n// SHA1 (20 bytes): base64 = 28 chars total (27 + \"=\")\nexport const sha1_hex = /^[0-9a-fA-F]{40}$/;\nexport const sha1_base64 = /*@__PURE__*/ fixedBase64(27, \"=\");\nexport const sha1_base64url = /*@__PURE__*/ fixedBase64url(27);\n// SHA256 (32 bytes): base64 = 44 chars total (43 + \"=\")\nexport const sha256_hex = /^[0-9a-fA-F]{64}$/;\nexport const sha256_base64 = /*@__PURE__*/ fixedBase64(43, \"=\");\nexport const sha256_base64url = /*@__PURE__*/ fixedBase64url(43);\n// SHA384 (48 bytes): base64 = 64 chars total (no padding)\nexport const sha384_hex = /^[0-9a-fA-F]{96}$/;\nexport const sha384_base64 = /*@__PURE__*/ fixedBase64(64, \"\");\nexport const sha384_base64url = /*@__PURE__*/ fixedBase64url(64);\n// SHA512 (64 bytes): base64 = 88 chars total (86 + \"==\")\nexport const sha512_hex = /^[0-9a-fA-F]{128}$/;\nexport const sha512_base64 = /*@__PURE__*/ fixedBase64(86, \"==\");\nexport const sha512_base64url = /*@__PURE__*/ fixedBase64url(86);\n", "// import { $ZodType } from \"./schemas.js\";\nimport * as core from \"./core.js\";\nimport * as regexes from \"./regexes.js\";\nimport * as util from \"./util.js\";\nexport const $ZodCheck = /*@__PURE__*/ core.$constructor(\"$ZodCheck\", (inst, def) => {\n var _a;\n inst._zod ?? (inst._zod = {});\n inst._zod.def = def;\n (_a = inst._zod).onattach ?? (_a.onattach = []);\n});\n/** Default `when` for size-based checks: run only on non-nullish values with a `size`. */\nconst _whenHasSize = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.size !== undefined;\n};\n/** Default `when` for length-based checks: run only on non-nullish values with a `length`. */\nconst _whenHasLength = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.length !== undefined;\n};\nconst numericOriginMap = {\n number: \"number\",\n bigint: \"bigint\",\n object: \"date\",\n};\nexport const $ZodCheckLessThan = /*@__PURE__*/ core.$constructor(\"$ZodCheckLessThan\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const origin = numericOriginMap[typeof def.value];\n inst._zod.check = (payload) => {\n if (def.inclusive ? payload.value <= def.value : payload.value < def.value) {\n return;\n }\n payload.issues.push({\n origin: numericOriginMap[typeof payload.value] ?? origin,\n code: \"too_big\",\n maximum: typeof def.value === \"object\" ? def.value.getTime() : def.value,\n input: payload.value,\n inclusive: def.inclusive,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckGreaterThan = /*@__PURE__*/ core.$constructor(\"$ZodCheckGreaterThan\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const origin = numericOriginMap[typeof def.value];\n inst._zod.check = (payload) => {\n if (def.inclusive ? payload.value >= def.value : payload.value > def.value) {\n return;\n }\n payload.issues.push({\n origin: numericOriginMap[typeof payload.value] ?? origin,\n code: \"too_small\",\n minimum: typeof def.value === \"object\" ? def.value.getTime() : def.value,\n input: payload.value,\n inclusive: def.inclusive,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckMultipleOf = \n/*@__PURE__*/ core.$constructor(\"$ZodCheckMultipleOf\", (inst, def) => {\n $ZodCheck.init(inst, def);\n inst._zod.check = (payload) => {\n if (typeof payload.value !== typeof def.value)\n throw new Error(\"Cannot mix number and bigint in multiple_of check.\");\n const isMultiple = typeof payload.value === \"bigint\"\n ? // `value % 0n` throws, and nothing is a multiple of zero \u2014 the number branch already fails this way via NaN\n def.value !== BigInt(0) && payload.value % def.value === BigInt(0)\n : util.floatSafeRemainder(payload.value, def.value) === 0;\n if (isMultiple)\n return;\n payload.issues.push({\n origin: typeof payload.value,\n code: \"not_multiple_of\",\n divisor: def.value,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckNumberFormat = /*@__PURE__*/ core.$constructor(\"$ZodCheckNumberFormat\", (inst, def) => {\n $ZodCheck.init(inst, def); // no format checks\n def.format = def.format || \"float64\";\n const isInt = def.format?.includes(\"int\");\n const origin = isInt ? \"int\" : \"number\";\n const [minimum, maximum] = util.NUMBER_FORMAT_RANGES[def.format];\n inst._zod.check = (payload) => {\n const input = payload.value;\n if (isInt) {\n if (!Number.isInteger(input)) {\n // invalid_format issue\n // payload.issues.push({\n // expected: def.format,\n // format: def.format,\n // code: \"invalid_format\",\n // input,\n // inst,\n // });\n // invalid_type issue\n payload.issues.push({\n expected: origin,\n format: def.format,\n code: \"invalid_type\",\n continue: false,\n input,\n inst,\n });\n return;\n // not_multiple_of issue\n // payload.issues.push({\n // code: \"not_multiple_of\",\n // origin: \"number\",\n // input,\n // inst,\n // divisor: 1,\n // });\n }\n if (!Number.isSafeInteger(input)) {\n if (input > 0) {\n // too_big\n payload.issues.push({\n input,\n code: \"too_big\",\n maximum: Number.MAX_SAFE_INTEGER,\n note: \"Integers must be within the safe integer range.\",\n inst,\n origin,\n inclusive: true,\n continue: !def.abort,\n });\n }\n else {\n // too_small\n payload.issues.push({\n input,\n code: \"too_small\",\n minimum: Number.MIN_SAFE_INTEGER,\n note: \"Integers must be within the safe integer range.\",\n inst,\n origin,\n inclusive: true,\n continue: !def.abort,\n });\n }\n return;\n }\n }\n if (input < minimum) {\n payload.issues.push({\n origin: \"number\",\n input,\n code: \"too_small\",\n minimum,\n inclusive: true,\n inst,\n continue: !def.abort,\n });\n }\n if (input > maximum) {\n payload.issues.push({\n origin: \"number\",\n input,\n code: \"too_big\",\n maximum,\n inclusive: true,\n inst,\n continue: !def.abort,\n });\n }\n };\n});\nexport const $ZodCheckBigIntFormat = /*@__PURE__*/ core.$constructor(\"$ZodCheckBigIntFormat\", (inst, def) => {\n $ZodCheck.init(inst, def); // no format checks\n const [minimum, maximum] = util.BIGINT_FORMAT_RANGES[def.format];\n inst._zod.check = (payload) => {\n const input = payload.value;\n if (input < minimum) {\n payload.issues.push({\n origin: \"bigint\",\n input,\n code: \"too_small\",\n minimum: minimum,\n inclusive: true,\n inst,\n continue: !def.abort,\n });\n }\n if (input > maximum) {\n payload.issues.push({\n origin: \"bigint\",\n input,\n code: \"too_big\",\n maximum,\n inclusive: true,\n inst,\n continue: !def.abort,\n });\n }\n };\n});\nexport const $ZodCheckMaxSize = /*@__PURE__*/ core.$constructor(\"$ZodCheckMaxSize\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = _whenHasSize);\n inst._zod.check = (payload) => {\n const input = payload.value;\n const size = input.size;\n if (size <= def.maximum)\n return;\n payload.issues.push({\n origin: util.getSizableOrigin(input),\n code: \"too_big\",\n maximum: def.maximum,\n inclusive: true,\n input,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckMinSize = /*@__PURE__*/ core.$constructor(\"$ZodCheckMinSize\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = _whenHasSize);\n inst._zod.check = (payload) => {\n const input = payload.value;\n const size = input.size;\n if (size >= def.minimum)\n return;\n payload.issues.push({\n origin: util.getSizableOrigin(input),\n code: \"too_small\",\n minimum: def.minimum,\n inclusive: true,\n input,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckSizeEquals = /*@__PURE__*/ core.$constructor(\"$ZodCheckSizeEquals\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = _whenHasSize);\n inst._zod.check = (payload) => {\n const input = payload.value;\n const size = input.size;\n if (size === def.size)\n return;\n const tooBig = size > def.size;\n payload.issues.push({\n origin: util.getSizableOrigin(input),\n ...(tooBig ? { code: \"too_big\", maximum: def.size } : { code: \"too_small\", minimum: def.size }),\n inclusive: true,\n exact: true,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckMaxLength = /*@__PURE__*/ core.$constructor(\"$ZodCheckMaxLength\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = _whenHasLength);\n inst._zod.check = (payload) => {\n const input = payload.value;\n const units = input.length;\n // Strings are measured in Unicode code points, not UTF-16 units. A code point is at most two units, so a string that already fits in units fits in code points; only an overflow has to be counted.\n const length = typeof input === \"string\" && units > def.maximum ? util.codePointLength(input) : units;\n if (length <= def.maximum)\n return;\n const origin = util.getLengthableOrigin(input);\n payload.issues.push({\n origin,\n code: \"too_big\",\n maximum: def.maximum,\n inclusive: true,\n input,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckMinLength = /*@__PURE__*/ core.$constructor(\"$ZodCheckMinLength\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = _whenHasLength);\n inst._zod.check = (payload) => {\n const input = payload.value;\n const units = input.length;\n // A code point is one or two UTF-16 units, so fewer units than the floor can never reach it and twice the floor always clears it. Only in between is the exact count in doubt.\n const length = typeof input === \"string\" && units >= def.minimum && units < def.minimum * 2\n ? util.codePointLength(input)\n : units;\n if (length >= def.minimum)\n return;\n const origin = util.getLengthableOrigin(input);\n payload.issues.push({\n origin,\n code: \"too_small\",\n minimum: def.minimum,\n inclusive: true,\n input,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckLengthEquals = /*@__PURE__*/ core.$constructor(\"$ZodCheckLengthEquals\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = _whenHasLength);\n inst._zod.check = (payload) => {\n const input = payload.value;\n const units = input.length;\n // A code point is one or two UTF-16 units, so outside `[length, length * 2]` units the target is missed either way \u2014 and missed in the same direction in both measures.\n const length = typeof input === \"string\" && units >= def.length && units <= def.length * 2\n ? util.codePointLength(input)\n : units;\n if (length === def.length)\n return;\n const origin = util.getLengthableOrigin(input);\n const tooBig = length > def.length;\n payload.issues.push({\n origin,\n ...(tooBig ? { code: \"too_big\", maximum: def.length } : { code: \"too_small\", minimum: def.length }),\n inclusive: true,\n exact: true,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckStringFormat = /*@__PURE__*/ core.$constructor(\"$ZodCheckStringFormat\", (inst, def) => {\n var _a, _b;\n $ZodCheck.init(inst, def);\n if (def.pattern)\n (_a = inst._zod).check ?? (_a.check = (payload) => {\n def.pattern.lastIndex = 0;\n if (def.pattern.test(payload.value))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: def.format,\n input: payload.value,\n ...(def.pattern ? { pattern: def.pattern.toString() } : {}),\n inst,\n continue: !def.abort,\n });\n });\n else\n (_b = inst._zod).check ?? (_b.check = () => { });\n});\nexport const $ZodCheckRegex = /*@__PURE__*/ core.$constructor(\"$ZodCheckRegex\", (inst, def) => {\n $ZodCheckStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n def.pattern.lastIndex = 0;\n if (def.pattern.test(payload.value))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"regex\",\n input: payload.value,\n pattern: def.pattern.toString(),\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckLowerCase = /*@__PURE__*/ core.$constructor(\"$ZodCheckLowerCase\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.lowercase);\n $ZodCheckStringFormat.init(inst, def);\n});\nexport const $ZodCheckUpperCase = /*@__PURE__*/ core.$constructor(\"$ZodCheckUpperCase\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.uppercase);\n $ZodCheckStringFormat.init(inst, def);\n});\nexport const $ZodCheckIncludes = /*@__PURE__*/ core.$constructor(\"$ZodCheckIncludes\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const escapedRegex = util.escapeRegex(def.includes);\n // `String.prototype.includes(sub, position)` matches `sub` at `position`\n // OR LATER, so the pattern must allow at least `position` leading chars\n // (`{N,}`), not exactly `position` chars (`{N}`).\n const pattern = new RegExp(typeof def.position === \"number\" ? `^.{${def.position},}${escapedRegex}` : escapedRegex);\n def.pattern = pattern;\n inst._zod.check = (payload) => {\n if (payload.value.includes(def.includes, def.position))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"includes\",\n includes: def.includes,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckStartsWith = /*@__PURE__*/ core.$constructor(\"$ZodCheckStartsWith\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const pattern = new RegExp(`^${util.escapeRegex(def.prefix)}.*`);\n def.pattern ?? (def.pattern = pattern);\n inst._zod.check = (payload) => {\n if (payload.value.startsWith(def.prefix))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"starts_with\",\n prefix: def.prefix,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckEndsWith = /*@__PURE__*/ core.$constructor(\"$ZodCheckEndsWith\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const pattern = new RegExp(`.*${util.escapeRegex(def.suffix)}$`);\n def.pattern ?? (def.pattern = pattern);\n inst._zod.check = (payload) => {\n if (payload.value.endsWith(def.suffix))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"ends_with\",\n suffix: def.suffix,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\n///////////////////////////////////\n///// $ZodCheckProperty /////\n///////////////////////////////////\nfunction handleCheckPropertyResult(result, payload, property) {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(property, result.issues));\n }\n}\nexport const $ZodCheckProperty = /*@__PURE__*/ core.$constructor(\"$ZodCheckProperty\", (inst, def) => {\n $ZodCheck.init(inst, def);\n inst._zod.check = (payload) => {\n const result = def.schema._zod.run({\n value: payload.value[def.property],\n issues: [],\n }, {});\n if (result instanceof Promise) {\n return result.then((result) => handleCheckPropertyResult(result, payload, def.property));\n }\n handleCheckPropertyResult(result, payload, def.property);\n return;\n };\n});\nexport const $ZodCheckProperties = /*@__PURE__*/ core.$constructor(\"$ZodCheckProperties\", (inst, def) => {\n $ZodCheck.init(inst, def);\n util.hide(inst, Symbol.iterator, function* () {\n yield inst;\n });\n // key and schema snapshotted together: reading one live and the other cached lets a later mutation of the caller's shape object pair a stale key with a missing schema\n let entries;\n inst._zod.check = (payload) => {\n // the base schema already typed the value, so only a nullish one is rejected here: the properties read on a primitive too, matching z.property() on a string's length\n if (payload.value == null) {\n payload.issues.push({ expected: \"object\", code: \"invalid_type\", input: payload.value, inst });\n return undefined;\n }\n entries ?? (entries = Reflect.ownKeys(def.shape).map((key) => [key, def.shape[key]]));\n const input = payload.value;\n let proms;\n for (const [key, schema] of entries) {\n const result = schema._zod.run({ value: input[key], issues: [] }, {});\n if (result instanceof Promise) {\n proms ?? (proms = []);\n proms.push(result.then((result) => handleCheckPropertyResult(result, payload, key)));\n }\n else {\n handleCheckPropertyResult(result, payload, key);\n }\n }\n if (proms)\n return Promise.all(proms).then(() => undefined);\n return undefined;\n };\n});\nexport const $ZodCheckMimeType = /*@__PURE__*/ core.$constructor(\"$ZodCheckMimeType\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const mimeSet = new Set(def.mime);\n inst._zod.check = (payload) => {\n if (mimeSet.has(payload.value.type))\n return;\n payload.issues.push({\n code: \"invalid_value\",\n values: def.mime,\n input: payload.value.type,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckOverwrite = /*@__PURE__*/ core.$constructor(\"$ZodCheckOverwrite\", (inst, def) => {\n $ZodCheck.init(inst, def);\n inst._zod.check = (payload) => {\n payload.value = def.tx(payload.value);\n };\n});\n", "export class Doc {\n constructor(args = [], closed = {}) {\n this.content = [];\n this.indent = 0;\n this.args = args;\n this.closed = closed;\n }\n // the compiler catches a child's throw and keeps writing into this doc, so the indent has to unwind with it\n indented(fn) {\n this.indent += 1;\n try {\n fn(this);\n }\n finally {\n this.indent -= 1;\n }\n }\n write(arg) {\n if (typeof arg === \"function\") {\n arg(this, { execution: \"sync\" });\n arg(this, { execution: \"async\" });\n return;\n }\n const content = arg;\n const lines = content.split(\"\\n\").filter((x) => x);\n const minIndent = Math.min(...lines.map((x) => x.length - x.trimStart().length));\n const dedented = lines.map((x) => x.slice(minIndent)).map((x) => \" \".repeat(this.indent * 2) + x);\n for (const line of dedented) {\n this.content.push(line);\n }\n }\n compile() {\n const F = Function;\n const content = this?.content ?? [``];\n const factory = new F(...Object.keys(this.closed), `return function (${this.args.join(\", \")}) {\\n${content.join(\"\\n\")}\\n};`);\n return factory(...Object.values(this.closed));\n }\n}\n", "export const version = {\n major: 4,\n minor: 6,\n patch: 5,\n};\n", "import * as checks from \"./checks.js\";\nimport * as core from \"./core.js\";\nimport { Doc } from \"./doc.js\";\nimport { parse, parseAsync } from \"./parse.js\";\nimport * as regexes from \"./regexes.js\";\nimport * as util from \"./util.js\";\nimport { version } from \"./versions.js\";\nexport const $ZodType = /*@__PURE__*/ core.$constructor(\"$ZodType\", (inst, def) => {\n var _a;\n inst ?? (inst = {});\n inst._zod.def = def; // set _def property\n inst._zod.bag = inst._zod.bag || {}; // initialize _bag object\n inst._zod.version = version;\n const defChecks = inst._zod.def.checks;\n // if inst is itself a checks.$ZodCheck, run it as a check\n const checks = inst._zod.traits.has(\"$ZodCheck\")\n ? [inst, ...(defChecks ?? [])]\n : defChecks?.length\n ? [...defChecks]\n : [];\n for (const ch of checks) {\n for (const fn of ch._zod.onattach) {\n fn(inst);\n }\n }\n if (checks.length === 0) {\n // deferred initializer inst._zod.parse is not yet defined\n (_a = inst._zod).deferred ?? (_a.deferred = []);\n inst._zod.deferred?.push(() => {\n inst._zod.run = inst._zod.parse;\n });\n }\n else {\n const runChecks = (payload, checks, ctx) => {\n if (payload.memo)\n return payload;\n let isAborted = util.aborted(payload);\n let asyncResult;\n for (const ch of checks) {\n if (ch._zod.def.when) {\n if (util.explicitlyAborted(payload))\n continue;\n const shouldRun = ch._zod.def.when(payload);\n if (!shouldRun)\n continue;\n }\n else if (isAborted) {\n continue;\n }\n const currLen = payload.issues.length;\n const _ = ch._zod.check(payload);\n if (_ instanceof Promise && ctx?.async === false) {\n throw new core.$ZodAsyncError();\n }\n if (asyncResult || _ instanceof Promise) {\n asyncResult = (asyncResult ?? Promise.resolve()).then(async () => {\n await _;\n const nextLen = payload.issues.length;\n if (nextLen === currLen)\n return;\n util.attachSchema(payload.issues, currLen, inst);\n if (!isAborted)\n isAborted = util.aborted(payload, currLen);\n });\n }\n else {\n const nextLen = payload.issues.length;\n if (nextLen === currLen)\n continue;\n util.attachSchema(payload.issues, currLen, inst);\n if (!isAborted)\n isAborted = util.aborted(payload, currLen);\n }\n }\n if (asyncResult) {\n return asyncResult.then(() => {\n return payload;\n });\n }\n return payload;\n };\n const handleCanaryResult = (canary, payload, ctx) => {\n // abort if the canary is aborted\n if (util.aborted(canary)) {\n canary.aborted = true;\n return canary;\n }\n // run checks first, then\n const checkResult = runChecks(payload, checks, ctx);\n if (checkResult instanceof Promise) {\n if (ctx.async === false)\n throw new core.$ZodAsyncError();\n return checkResult.then((checkResult) => inst._zod.parse(checkResult, ctx));\n }\n return inst._zod.parse(checkResult, ctx);\n };\n inst._zod.run = (payload, ctx) => {\n if (ctx.skipChecks) {\n return inst._zod.parse(payload, ctx);\n }\n if (ctx.direction === \"backward\") {\n // run canary initial pass (no checks)\n const canary = inst._zod.parse({ value: payload.value, issues: [] }, { ...ctx, skipChecks: true });\n if (canary instanceof Promise) {\n return canary.then((canary) => {\n return handleCanaryResult(canary, payload, ctx);\n });\n }\n return handleCanaryResult(canary, payload, ctx);\n }\n // forward\n const result = inst._zod.parse(payload, ctx);\n if (result instanceof Promise) {\n if (ctx.async === false)\n throw new core.$ZodAsyncError();\n return result.then((result) => runChecks(result, checks, ctx));\n }\n return runChecks(result, checks, ctx);\n };\n }\n}, {\n // Wrappers extend this by installing a richer factory over it; reading it eagerly would defeat the laziness.\n get \"~standard\"() {\n return util.hide(this, \"~standard\", standardProps(this));\n },\n set \"~standard\"(value) {\n util.own(this, \"~standard\", value);\n },\n});\n/** The Standard Schema surface for `inst`. Shared so wrappers can extend it without forcing it. */\n// a Standard Schema result only reports issues, so a failure finalizes them straight off the raw payload: no ZodError, and no lazy result to read through\nconst toStandardResult = (r, ctx) => r.issues.length ? { issues: r.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())) } : { value: r.value };\nasync function validateAsync(inst, value) {\n const ctx = { async: true };\n return toStandardResult((await inst._zod.run({ value, issues: [] }, ctx)), ctx);\n}\nexport function standardProps(inst) {\n return {\n validate: (value) => {\n const ctx = { async: false };\n try {\n const r = inst._zod.run({ value, issues: [] }, ctx);\n if (!(r instanceof Promise))\n return toStandardResult(r, ctx);\n }\n catch (_) { }\n // async function so a synchronously throwing check rejects instead of escaping validate\n return validateAsync(inst, value);\n },\n vendor: \"zod\",\n version: 1,\n };\n}\nexport { clone } from \"./util.js\";\nexport const $ZodString = /*@__PURE__*/ core.$constructor(\"$ZodString\", (inst, def) => {\n $ZodType.init(inst, def);\n // a format's own pattern, else unbounded; a template literal derives the check-aware form itself\n inst._zod.pattern = def.pattern ?? regexes.anyString;\n inst._zod.parse = (payload, _) => {\n if (def.coerce)\n try {\n payload.value = String(payload.value);\n }\n catch (_) { }\n if (typeof payload.value === \"string\")\n return payload;\n payload.issues.push({\n expected: \"string\",\n code: \"invalid_type\",\n input: payload.value,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodStringFormat = /*@__PURE__*/ core.$constructor(\"$ZodStringFormat\", (inst, def) => {\n // check initialization must come first\n checks.$ZodCheckStringFormat.init(inst, def);\n $ZodString.init(inst, def);\n});\nexport const $ZodGUID = /*@__PURE__*/ core.$constructor(\"$ZodGUID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.guid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodUUID = /*@__PURE__*/ core.$constructor(\"$ZodUUID\", (inst, def) => {\n if (def.version) {\n const versionMap = {\n v1: 1,\n v2: 2,\n v3: 3,\n v4: 4,\n v5: 5,\n v6: 6,\n v7: 7,\n v8: 8,\n };\n const v = versionMap[def.version];\n if (v === undefined)\n throw new Error(`Invalid UUID version: \"${def.version}\"`);\n def.pattern ?? (def.pattern = regexes.uuid(v));\n }\n else\n def.pattern ?? (def.pattern = regexes.uuid());\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodEmail = /*@__PURE__*/ core.$constructor(\"$ZodEmail\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.email);\n $ZodStringFormat.init(inst, def);\n});\n/** The `://` guard rejected the input before the URL constructor saw it. */\nexport const URL_BAD_FORMAT = 1;\n/** The URL parser rejected the input. */\nexport const URL_UNPARSEABLE = 2;\nexport function canParseURL(input) {\n try {\n if (typeof URL !== \"undefined\" && typeof URL.canParse === \"function\")\n return URL.canParse(input);\n new URL(input);\n return true;\n }\n catch {\n return false;\n }\n}\nexport function validateURL(trimmed, def) {\n if (!(\"normalize\" in def) && !(\"hostname\" in def) && !(\"protocol\" in def)) {\n return canParseURL(trimmed) || URL_UNPARSEABLE;\n }\n return parseURLObject(trimmed, def);\n}\n/** Parses a URL while preserving the non-normalizing HTTP guard. */\nexport function parseURLObject(trimmed, def) {\n // When normalize is off, require :// for http/https URLs. This prevents strings like \"http:example.com\" or \"https:/path\" from being silently accepted\n if (!def.normalize && def.protocol?.source === regexes.httpProtocol.source && !/^https?:\\/\\//i.test(trimmed)) {\n return URL_BAD_FORMAT;\n }\n try {\n if (typeof URL !== \"undefined\") {\n const URLStatic = URL;\n if (typeof URLStatic.parse === \"function\")\n return URLStatic.parse(trimmed) ?? URL_UNPARSEABLE;\n }\n // @ts-ignore\n return new URL(trimmed);\n }\n catch {\n return URL_UNPARSEABLE;\n }\n}\nconst asciiTabOrNewline = /[\\t\\n\\r]/g;\n/** The URL parser deletes every ASCII tab, LF and CR from its input before it parses, so `new URL(\"https://exa\\nmple.com\")` reports on `example.com`. Applying the same deletion to the returned value closes the half of that divergence which can move the host; the parser's other rewrite, stripping C0 controls at the edges, cannot. */\nexport function stripTabAndNewline(value) {\n return value.replace(asciiTabOrNewline, \"\");\n}\nexport function urlHostnameOk(url, hostname) {\n hostname.lastIndex = 0;\n return hostname.test(url.hostname);\n}\nexport function urlProtocolOk(url, protocol) {\n protocol.lastIndex = 0;\n return protocol.test(url.protocol.endsWith(\":\") ? url.protocol.slice(0, -1) : url.protocol);\n}\nexport const $ZodURL = /*@__PURE__*/ core.$constructor(\"$ZodURL\", (inst, def) => {\n $ZodStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n try {\n // Trim whitespace from input\n const trimmed = payload.value.trim();\n const url = validateURL(trimmed, def);\n if (url === URL_BAD_FORMAT) {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"url\",\n note: \"Invalid URL format\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n return;\n }\n if (url === URL_UNPARSEABLE) {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"url\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n return;\n }\n if (url === true) {\n payload.value = stripTabAndNewline(trimmed);\n return;\n }\n if (def.hostname && !urlHostnameOk(url, def.hostname)) {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"url\",\n note: \"Invalid hostname\",\n pattern: def.hostname.source,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n if (def.protocol && !urlProtocolOk(url, def.protocol)) {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"url\",\n note: \"Invalid protocol\",\n pattern: def.protocol.source,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n // Set the output value based on normalize flag\n payload.value = def.normalize ? url.href : stripTabAndNewline(trimmed);\n return;\n }\n catch (_) {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"url\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n };\n});\nexport const $ZodEmoji = /*@__PURE__*/ core.$constructor(\"$ZodEmoji\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.emoji());\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodNanoID = /*@__PURE__*/ core.$constructor(\"$ZodNanoID\", (inst, def) => {\n if (def.length !== undefined && (!Number.isInteger(def.length) || def.length < 1))\n throw new Error(`Invalid nanoid length: ${def.length}`);\n def.pattern ?? (def.pattern = def.length === undefined ? regexes.nanoid : regexes.nanoidOfLength(def.length));\n $ZodStringFormat.init(inst, def);\n});\n/**\n * @deprecated CUID v1 is deprecated by its authors due to information leakage\n * (timestamps embedded in the id). Use {@link $ZodCUID2} instead.\n * See https://github.com/paralleldrive/cuid.\n */\nexport const $ZodCUID = /*@__PURE__*/ core.$constructor(\"$ZodCUID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.cuid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodCUID2 = /*@__PURE__*/ core.$constructor(\"$ZodCUID2\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.cuid2);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodULID = /*@__PURE__*/ core.$constructor(\"$ZodULID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.ulid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodXID = /*@__PURE__*/ core.$constructor(\"$ZodXID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.xid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodKSUID = /*@__PURE__*/ core.$constructor(\"$ZodKSUID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.ksuid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodISODateTime = /*@__PURE__*/ core.$constructor(\"$ZodISODateTime\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.datetime(def));\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodISODate = /*@__PURE__*/ core.$constructor(\"$ZodISODate\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.date);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodISOTime = /*@__PURE__*/ core.$constructor(\"$ZodISOTime\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.time(def));\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodISODuration = /*@__PURE__*/ core.$constructor(\"$ZodISODuration\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.duration);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodIPv4 = /*@__PURE__*/ core.$constructor(\"$ZodIPv4\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.ipv4);\n $ZodStringFormat.init(inst, def);\n});\n/** An IPv6 address is written with hex digits, colons and dots, and nothing else. The guard is what makes the check below an IPv6 check: `new URL(\"http://[...]\")` parses an authority, not an address, so `@` and `\\` re-delimit it and `\"::@1\\\\\"` validates against the host `0.0.0.1`. The URL parser also deletes ASCII tab, LF and CR rather than failing, which is how `\"::1\\n\"` validated as `::1`. */\nconst ipv6Alphabet = /^[0-9a-fA-F:.]+$/;\nexport function isValidIPv6(value) {\n if (!ipv6Alphabet.test(value))\n return false;\n return canParseURL(`http://[${value}]`);\n}\nexport const $ZodIPv6 = /*@__PURE__*/ core.$constructor(\"$ZodIPv6\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.ipv6);\n $ZodStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n if (!isValidIPv6(payload.value)) {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"ipv6\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n };\n});\nexport const $ZodMAC = /*@__PURE__*/ core.$constructor(\"$ZodMAC\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.mac(def.delimiter));\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodCIDRv4 = /*@__PURE__*/ core.$constructor(\"$ZodCIDRv4\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.cidrv4);\n $ZodStringFormat.init(inst, def);\n});\nexport function isValidCIDRv6(value) {\n const parts = value.split(\"/\");\n if (parts.length !== 2)\n return false;\n const [address, prefix] = parts;\n if (!prefix)\n return false;\n const prefixNum = Number(prefix);\n if (`${prefixNum}` !== prefix)\n return false;\n if (prefixNum < 0 || prefixNum > 128)\n return false;\n return isValidIPv6(address);\n}\nexport const $ZodCIDRv6 = /*@__PURE__*/ core.$constructor(\"$ZodCIDRv6\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.cidrv6); // not used for validation\n $ZodStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n if (!isValidCIDRv6(payload.value)) {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"cidrv6\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n };\n});\n////////////////////////////// ZodBase64 //////////////////////////////\nexport function isValidBase64(data) {\n if (data === \"\")\n return true;\n // atob ignores whitespace, so reject it up front.\n if (/\\s/.test(data))\n return false;\n if (data.length % 4 !== 0)\n return false;\n try {\n // @ts-ignore\n atob(data);\n return true;\n }\n catch {\n return false;\n }\n}\n// lax on purpose: the quantified regexes.base64 overflows the regex stack on multi-MB input and its leading ^$| alternation leaks through template-literal composition; isValidBase64 enforces length and padding\nexport const base64Charset = /^[0-9a-zA-Z+/]*={0,2}$/;\nexport const $ZodBase64 = /*@__PURE__*/ core.$constructor(\"$ZodBase64\", (inst, def) => {\n def.pattern ?? (def.pattern = base64Charset);\n $ZodStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n if (isValidBase64(payload.value))\n return;\n payload.issues.push({\n code: \"invalid_format\",\n format: \"base64\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\n////////////////////////////// ZodBase64URL //////////////////////////////\n// lax on purpose: the quantified regexes.base64url overflows the regex stack on multi-MB input; isValidBase64 enforces length on the padded string\nexport const base64urlCharset = /^[A-Za-z0-9_-]*$/;\nexport function isValidBase64URL(data) {\n if (!base64urlCharset.test(data))\n return false;\n const base64 = data.replace(/[-_]/g, (c) => (c === \"-\" ? \"+\" : \"/\"));\n const padded = base64.padEnd(Math.ceil(base64.length / 4) * 4, \"=\");\n return isValidBase64(padded);\n}\nexport const $ZodBase64URL = /*@__PURE__*/ core.$constructor(\"$ZodBase64URL\", (inst, def) => {\n def.pattern ?? (def.pattern = base64urlCharset);\n $ZodStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n if (isValidBase64URL(payload.value))\n return;\n payload.issues.push({\n code: \"invalid_format\",\n format: \"base64url\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodE164 = /*@__PURE__*/ core.$constructor(\"$ZodE164\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.e164);\n $ZodStringFormat.init(inst, def);\n});\n////////////////////////////// ZodCreditCard //////////////////////////////\nconst CC_SANITIZE = /[- ]/g;\n/** Luhn checksum on a digit-only string. Adapted from valibot (MIT). */\nfunction isLuhnAlgo(digits) {\n let length = digits.length;\n let bit = 1;\n let sum = 0;\n while (length) {\n const value = digits.charCodeAt(--length) - 48;\n bit ^= 1;\n sum += bit ? [0, 2, 4, 6, 8, 1, 3, 5, 7, 9][value] : value;\n }\n return sum % 10 === 0;\n}\nexport function isValidCreditCard(input) {\n if (!regexes.creditCard.test(input))\n return false;\n return isLuhnAlgo(input.replace(CC_SANITIZE, \"\"));\n}\nexport const $ZodCreditCard = /*@__PURE__*/ core.$constructor(\"$ZodCreditCard\", (inst, def) => {\n // Shape only \u2014 the Luhn check below is not expressible as a pattern, so consumers of `pattern` (JSON Schema, template literals) get the length and separator rules alone.\n def.pattern ?? (def.pattern = regexes.creditCard);\n $ZodStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n if (isValidCreditCard(payload.value))\n return;\n payload.issues.push({\n code: \"invalid_format\",\n format: \"credit_card\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\n////////////////////////////// ZodIBAN //////////////////////////////\n// iso 7064 mod 97-10 checksum without BigInt\nfunction isIso7064Mod97(iban) {\n let remainder = 0;\n const len = iban.length;\n for (let i = 4; i < len; i++) {\n const code = iban.charCodeAt(i);\n remainder = (code >= 65 ? remainder * 100 + (code - 55) : remainder * 10 + (code - 48)) % 97;\n }\n for (let i = 0; i < 4; i++) {\n const code = iban.charCodeAt(i);\n remainder = (code >= 65 ? remainder * 100 + (code - 55) : remainder * 10 + (code - 48)) % 97;\n }\n return remainder === 1;\n}\nexport function isValidIBAN(input) {\n if (!regexes.iban.test(input))\n return false;\n return isIso7064Mod97(input);\n}\nexport const $ZodIBAN = /*@__PURE__*/ core.$constructor(\"$ZodIBAN\", (inst, def) => {\n // shape only \u2014 checksum is not expressible as a pattern\n def.pattern ?? (def.pattern = regexes.iban);\n $ZodStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n if (isValidIBAN(payload.value))\n return;\n payload.issues.push({\n code: \"invalid_format\",\n format: \"iban\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\n////////////////////////////// ZodJWT //////////////////////////////\nexport function isValidJWT(token, algorithm = null) {\n try {\n const tokensParts = token.split(\".\");\n if (tokensParts.length !== 3)\n return false;\n const [header] = tokensParts;\n if (!header)\n return false;\n // @ts-ignore\n const parsedHeader = JSON.parse(atob(header));\n if (\"typ\" in parsedHeader && parsedHeader?.typ !== \"JWT\")\n return false;\n if (!parsedHeader.alg)\n return false;\n if (algorithm && (!(\"alg\" in parsedHeader) || parsedHeader.alg !== algorithm))\n return false;\n return true;\n }\n catch {\n return false;\n }\n}\nexport const $ZodJWT = /*@__PURE__*/ core.$constructor(\"$ZodJWT\", (inst, def) => {\n $ZodStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n if (isValidJWT(payload.value, def.alg))\n return;\n payload.issues.push({\n code: \"invalid_format\",\n format: \"jwt\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCustomStringFormat = /*@__PURE__*/ core.$constructor(\"$ZodCustomStringFormat\", (inst, def) => {\n $ZodStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n if (def.fn(payload.value))\n return;\n payload.issues.push({\n code: \"invalid_format\",\n format: def.format,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodNumber = /*@__PURE__*/ core.$constructor(\"$ZodNumber\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = regexes.number;\n inst._zod.parse = (payload, _ctx) => {\n if (def.coerce)\n try {\n payload.value = Number(payload.value);\n }\n catch (_) { }\n const input = payload.value;\n if (typeof input === \"number\" && !Number.isNaN(input) && Number.isFinite(input)) {\n return payload;\n }\n const received = typeof input === \"number\"\n ? Number.isNaN(input)\n ? \"NaN\"\n : !Number.isFinite(input)\n ? String(input)\n : undefined\n : undefined;\n payload.issues.push({\n expected: \"number\",\n code: \"invalid_type\",\n input,\n inst,\n ...(received ? { received } : {}),\n });\n return payload;\n };\n});\nexport const $ZodNumberFormat = /*@__PURE__*/ core.$constructor(\"$ZodNumberFormat\", (inst, def) => {\n checks.$ZodCheckNumberFormat.init(inst, def);\n $ZodNumber.init(inst, def); // no format checks\n});\nexport const $ZodBoolean = /*@__PURE__*/ core.$constructor(\"$ZodBoolean\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = regexes.boolean;\n inst._zod.parse = (payload, _ctx) => {\n if (def.coerce)\n try {\n payload.value = Boolean(payload.value);\n }\n catch (_) { }\n const input = payload.value;\n if (typeof input === \"boolean\")\n return payload;\n payload.issues.push({\n expected: \"boolean\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodBigInt = /*@__PURE__*/ core.$constructor(\"$ZodBigInt\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = regexes.bigint;\n inst._zod.parse = (payload, _ctx) => {\n if (def.coerce)\n try {\n payload.value = BigInt(payload.value);\n }\n catch (_) { }\n if (typeof payload.value === \"bigint\")\n return payload;\n payload.issues.push({\n expected: \"bigint\",\n code: \"invalid_type\",\n input: payload.value,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodBigIntFormat = /*@__PURE__*/ core.$constructor(\"$ZodBigIntFormat\", (inst, def) => {\n checks.$ZodCheckBigIntFormat.init(inst, def);\n $ZodBigInt.init(inst, def); // no format checks\n});\nexport const $ZodSymbol = /*@__PURE__*/ core.$constructor(\"$ZodSymbol\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (typeof input === \"symbol\")\n return payload;\n payload.issues.push({\n expected: \"symbol\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodUndefined = /*@__PURE__*/ core.$constructor(\"$ZodUndefined\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = regexes.undefined;\n inst._zod.values = new Set([undefined]);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (typeof input === \"undefined\")\n return payload;\n payload.issues.push({\n expected: \"undefined\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodNull = /*@__PURE__*/ core.$constructor(\"$ZodNull\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = regexes.null;\n inst._zod.values = new Set([null]);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (input === null)\n return payload;\n payload.issues.push({\n expected: \"null\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodAny = /*@__PURE__*/ core.$constructor(\"$ZodAny\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload) => payload;\n});\nexport const $ZodUnknown = /*@__PURE__*/ core.$constructor(\"$ZodUnknown\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload) => payload;\n});\nexport const $ZodNever = /*@__PURE__*/ core.$constructor(\"$ZodNever\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n payload.issues.push({\n expected: \"never\",\n code: \"invalid_type\",\n input: payload.value,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodVoid = /*@__PURE__*/ core.$constructor(\"$ZodVoid\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (typeof input === \"undefined\")\n return payload;\n payload.issues.push({\n expected: \"void\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodDate = /*@__PURE__*/ core.$constructor(\"$ZodDate\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n if (def.coerce) {\n try {\n payload.value = new Date(payload.value);\n }\n catch (_err) { }\n }\n const input = payload.value;\n const isDate = input instanceof Date;\n const isValidDate = isDate && !Number.isNaN(input.getTime());\n if (isValidDate)\n return payload;\n payload.issues.push({\n expected: \"date\",\n code: \"invalid_type\",\n input,\n ...(isDate ? { received: \"Invalid Date\" } : {}),\n inst,\n });\n return payload;\n };\n});\nfunction handleArrayResult(result, final, index) {\n if (result.issues.length) {\n final.issues.push(...util.prefixIssues(index, result.issues));\n }\n final.value[index] = result.value;\n}\nexport const $ZodArray = /*@__PURE__*/ core.$constructor(\"$ZodArray\", (inst, def) => {\n $ZodType.init(inst, def);\n const memo = core.globalConfig.memoizer;\n memo?.attach(inst);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!Array.isArray(input)) {\n payload.issues.push({\n expected: \"array\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n payload.value = memo ? memo.alloc(inst, payload, Array(input.length), ctx) : Array(input.length);\n const proms = [];\n const abortEarly = ctx?.abortEarly;\n for (let i = 0; i < input.length; i++) {\n const item = input[i];\n const result = def.element._zod.run({\n value: item,\n issues: [],\n }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => handleArrayResult(result, payload, i)));\n }\n else {\n handleArrayResult(result, payload, i);\n // the element's payload is authoritative here, since handleArrayResult forwards every issue; an object's is not, because it drops a failed absent optional\n if (abortEarly && result.issues.length !== 0 && util.aborted(result))\n break;\n }\n }\n if (proms.length) {\n return Promise.all(proms).then(() => payload);\n }\n return payload; //handleArrayResultsAsync(parseResults, final);\n };\n});\nfunction handlePropertyResult(result, final, key, input, optin, optout) {\n const isPresent = key in input;\n const isOptionalOut = optout === \"optional\";\n // The middle rung means \"absence permitted, nothing supplied in its place\", so an absent key contributes nothing \u2014 whatever the schema made of `undefined` is invented, not substituted. Only `optional` reaches this with a value: `defaulted` substitutes, and a schema that isn't optional-out has to keep the key.\n if (!isPresent && isOptionalOut && optin === \"optional\") {\n return;\n }\n if (result.issues.length) {\n // For optional-in/out schemas, ignore errors on absent keys.\n if (optin !== undefined && isOptionalOut && !isPresent) {\n return;\n }\n final.issues.push(...util.prefixIssues(key, result.issues));\n }\n if (!isPresent && optin === undefined) {\n if (!result.issues.length) {\n final.issues.push({\n code: \"invalid_type\",\n expected: \"nonoptional\",\n input: undefined,\n path: [key],\n });\n }\n return;\n }\n if (result.value === undefined) {\n if (isPresent || (optin === \"defaulted\" && !isOptionalOut)) {\n final.value[key] = undefined;\n }\n }\n else {\n final.value[key] = result.value;\n }\n}\n// one shared instance; a fresh [] per schema cost 56 bytes retained\nconst NO_SYMBOL_KEYS = [];\nfunction normalizeDef(def) {\n const keys = Object.keys(def.shape);\n const ownSymbols = Object.getOwnPropertySymbols(def.shape);\n const symbolKeys = ownSymbols.length ? ownSymbols : NO_SYMBOL_KEYS;\n // aliases `keys` when there are no symbols, so a string-only shape keeps one array\n const allKeys = symbolKeys.length ? [...keys, ...symbolKeys] : keys;\n for (const k of allKeys) {\n if (!def.shape?.[k]?._zod?.traits?.has(\"$ZodType\")) {\n throw new Error(`Invalid element at key \"${String(k)}\": expected a Zod schema`);\n }\n }\n const okeys = util.optionalKeys(def.shape);\n return {\n ...def,\n allKeys,\n symbolKeys,\n // string-only: handleCatchall matches it against `for...in`, which never yields a symbol\n keySet: new Set(keys),\n numKeys: keys.length,\n optionalKeys: new Set(okeys),\n };\n}\nfunction handleCatchall(proms, input, payload, ctx, def, inst, abortEarly) {\n const unrecognized = [];\n const keySet = def.keySet;\n const _catchall = def.catchall._zod;\n const t = _catchall.def.type;\n const optin = _catchall.optin;\n const optout = _catchall.optout;\n // starts at 0, not the current length: the shape phase already ran and may have aborted\n let seen = 0;\n for (const key in input) {\n if (abortEarly && payload.issues.length !== seen) {\n if (util.aborted(payload, seen))\n break;\n seen = payload.issues.length;\n }\n // Must precede the __proto__ branch: a declared key is not unrecognized, even though the shape loop deliberately strips __proto__ from the parsed output.\n if (keySet.has(key))\n continue;\n // Don't copy an undeclared __proto__ into the result; assignment to a plain {} would replace the result prototype. But in strict mode it is still an unknown key, so report it before skipping.\n if (key === \"__proto__\") {\n if (t === \"never\")\n unrecognized.push(key);\n continue;\n }\n if (t === \"never\") {\n unrecognized.push(key);\n continue;\n }\n const r = _catchall.run({ value: input[key], issues: [] }, ctx);\n if (r instanceof Promise) {\n proms.push(r.then((r) => handlePropertyResult(r, payload, key, input, optin, optout)));\n }\n else {\n handlePropertyResult(r, payload, key, input, optin, optout);\n }\n }\n if (unrecognized.length) {\n payload.issues.push({\n code: \"unrecognized_keys\",\n keys: unrecognized,\n input,\n inst,\n // Describes the shape of the input, not the validity of the parsed value, so it never aborts. The parse still fails; the schema's own checks just get to run first, and an enclosing intersection can reconcile the key against a sibling operand.\n continue: true,\n });\n }\n if (!proms.length)\n return payload;\n return Promise.all(proms).then(() => {\n return payload;\n });\n}\nexport const $ZodObject = /*@__PURE__*/ core.$constructor(\"$ZodObject\", (inst, def) => {\n // requires cast because technically $ZodObject doesn't extend\n $ZodType.init(inst, def);\n const desc = Object.getOwnPropertyDescriptor(def, \"shape\");\n // a cloned def carries its source's accessor, which knows the shape it answers from; adopting that keeps the clone's keys readable without running it\n const sh = desc?.get ? desc.get.raw : (def.shape ?? {});\n if (sh) {\n // Freezes the shape on first read, so its getters resolve once and every later read sees the same schemas.\n const get = () => {\n const newSh = { ...sh };\n Object.defineProperty(def, \"shape\", { value: newSh });\n get.raw = newSh;\n return newSh;\n };\n get.raw = sh;\n Object.defineProperty(def, \"shape\", { get });\n }\n const _normalized = util.cached(() => normalizeDef(def));\n util.defineLazyInternal(inst, \"propValues\", (zod) => {\n const shape = zod.def.shape;\n const propValues = {};\n for (const key in shape) {\n const field = shape[key]._zod;\n if (field.values) {\n if (!Object.prototype.hasOwnProperty.call(propValues, key)) {\n util.assignProp(propValues, key, new Set());\n }\n for (const v of field.values)\n propValues[key].add(v);\n // An omittable slot reads back as undefined at a discriminator lookup, so it has to claim undefined: two options that can both omit the key are not discriminable on it.\n if (field.optin !== undefined)\n propValues[key].add(undefined);\n }\n }\n return propValues;\n });\n const isObject = util.isObject;\n const catchall = def.catchall;\n let value;\n const memo = core.globalConfig.memoizer;\n memo?.attach(inst);\n inst._zod.parse = (payload, ctx) => {\n value ?? (value = _normalized.value);\n const input = payload.value;\n if (!isObject(input)) {\n payload.issues.push({\n expected: \"object\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n payload.value = memo ? memo.alloc(inst, payload, {}, ctx) : {};\n const proms = [];\n const shape = value.shape;\n const abortEarly = ctx?.abortEarly;\n let seen = payload.issues.length;\n for (const key of value.allKeys) {\n if (abortEarly && payload.issues.length !== seen) {\n if (util.aborted(payload, seen))\n break;\n seen = payload.issues.length;\n }\n if (key === \"__proto__\")\n continue;\n const el = shape[key];\n const optin = el._zod.optin;\n const optout = el._zod.optout;\n const r = el._zod.run({ value: input[key], issues: [] }, ctx);\n if (r instanceof Promise) {\n proms.push(r.then((r) => handlePropertyResult(r, payload, key, input, optin, optout)));\n }\n else {\n handlePropertyResult(r, payload, key, input, optin, optout);\n }\n }\n if (!catchall) {\n return proms.length ? Promise.all(proms).then(() => payload) : payload;\n }\n return handleCatchall(proms, input, payload, ctx, _normalized.value, inst, abortEarly === true);\n };\n});\nexport const $ZodObjectJIT = /*@__PURE__*/ core.$constructor(\"$ZodObjectJIT\", (inst, def) => {\n // requires cast because technically $ZodObject doesn't extend\n $ZodObject.init(inst, def);\n const superParse = inst._zod.parse;\n const _normalized = util.cached(() => normalizeDef(def));\n const memo = core.globalConfig.memoizer;\n const generateFastpass = (shape) => {\n const normalized = _normalized.value;\n const syms = normalized.symbolKeys;\n // a symbol has no source literal, so it is read as `syms[i]` off the closed-over scope\n const doc = new Doc([\"payload\", \"ctx\"], { shape, inst, memo, syms });\n const parseStr = (k) => `shape[${k}]._zod.run({ value: input[${k}], issues: [] }, ctx)`;\n // prefixes in place, like util.prefixIssues. newResult must land before the early return: a catchall runs after this and would otherwise write onto the caller's input\n const prefixStr = (id, k) => `\n let ${id}_ab = false;\n for (let i = 0; i < ${id}.issues.length; i++) {\n const iss = ${id}.issues[i];\n iss.path = iss.path ? [${k}, ...iss.path] : [${k}];\n payload.issues.push(iss);\n if (iss.continue !== true) ${id}_ab = true;\n }\n if (${id}_ab && ctx && ctx.abortEarly) {\n payload.value = newResult;\n return payload;\n }`;\n doc.write(`const input = payload.value;`);\n const ids = Object.create(null);\n let counter = 0;\n for (const key of normalized.allKeys) {\n ids[key] = `key_${counter++}`;\n }\n // A: preserve key order {\n doc.write(memo ? `const newResult = memo.alloc(inst, payload, {}, ctx);` : `const newResult = {};`);\n for (const key of normalized.allKeys) {\n if (key === \"__proto__\")\n continue;\n const id = ids[key];\n const k = typeof key === \"symbol\" ? `syms[${syms.indexOf(key)}]` : util.esc(key);\n const isPresent = `${k} in input`;\n const schema = shape[key];\n const optin = schema?._zod?.optin;\n const isOptionalIn = optin !== undefined;\n const isOptionalOut = schema?._zod?.optout === \"optional\";\n doc.write(`const ${id} = ${parseStr(k)};`);\n if (isOptionalIn && isOptionalOut) {\n // For optional-in/out schemas, ignore errors on absent keys \u2014 and, like the interpreted path, drop the value produced alongside them. The middle rung goes further: it permits absence without supplying anything in its place, so an absent key contributes nothing at all.\n const assign = optin === \"optional\" ? `${id}_present` : `${id}.value !== undefined || ${id}_present`;\n doc.write(`\n const ${id}_present = ${isPresent};\n if (!${id}.issues.length || ${id}_present) {\n if (${id}.issues.length) {${prefixStr(id, k)}\n }\n\n if (${assign}) {\n newResult[${k}] = ${id}.value;\n }\n }\n\n `);\n }\n else if (!isOptionalIn) {\n doc.write(`\n const ${id}_present = ${isPresent};\n if (${id}.issues.length) {${prefixStr(id, k)}\n }\n if (!${id}_present && !${id}.issues.length) {\n payload.issues.push({\n code: \"invalid_type\",\n expected: \"nonoptional\",\n input: undefined,\n path: [${k}]\n });\n if (ctx && ctx.abortEarly) {\n payload.value = newResult;\n return payload;\n }\n }\n\n if (${id}_present) {\n newResult[${k}] = ${id}.value;\n }\n\n `);\n }\n else {\n doc.write(`\n if (${id}.issues.length) {${prefixStr(id, k)}\n }\n `);\n if (optin === \"defaulted\") {\n doc.write(`newResult[${k}] = ${id}.value;`);\n }\n else {\n doc.write(`\n if (${id}.value !== undefined || ${isPresent}) {\n newResult[${k}] = ${id}.value;\n }\n `);\n }\n }\n }\n doc.write(`payload.value = newResult;`);\n doc.write(`return payload;`);\n // closing `shape` in is what pays: turbofan specializes the parser against that one shape object, so every `shape[k]._zod.run` folds to a known callee. as a parameter it stays a generic load and measures 13% slower even with the forwarding frame gone\n return doc.compile();\n };\n let fastpass;\n const isObject = util.isObject;\n const jit = !core.globalConfig.jitless;\n const allowsEval = util.allowsEval;\n const fastEnabled = jit && allowsEval.value; // && !def.catchall;\n const catchall = def.catchall;\n let value;\n inst._zod.parse = (payload, ctx) => {\n value ?? (value = _normalized.value);\n const input = payload.value;\n if (!isObject(input)) {\n payload.issues.push({\n expected: \"object\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n if (jit && fastEnabled && ctx?.async === false && ctx.jitless !== true) {\n // always synchronous\n if (!fastpass)\n fastpass = generateFastpass(def.shape);\n payload = fastpass(payload, ctx);\n if (!catchall)\n return payload;\n return handleCatchall([], input, payload, ctx, value, inst, ctx?.abortEarly === true);\n }\n return superParse(payload, ctx);\n };\n});\nfunction handleUnionResults(results, final, inst, ctx) {\n for (const result of results) {\n if (result.issues.length === 0) {\n final.value = result.value;\n return final;\n }\n }\n const nonaborted = results.filter((r) => !util.aborted(r));\n if (nonaborted.length === 1) {\n final.value = nonaborted[0].value;\n return nonaborted[0];\n }\n final.issues.push({\n code: \"invalid_union\",\n input: final.value,\n inst,\n errors: results.map((result) => result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config()))),\n });\n return final;\n}\nexport const $ZodUnion = /*@__PURE__*/ core.$constructor(\"$ZodUnion\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazyInternal(inst, \"optin\", (zod) => zod.def.options.some((o) => o._zod.optin === \"defaulted\")\n ? \"defaulted\"\n : zod.def.options.some((o) => o._zod.optin !== undefined)\n ? \"optional\"\n : undefined);\n util.defineLazyInternal(inst, \"optout\", (zod) => zod.def.options.some((o) => o._zod.optout === \"optional\") ? \"optional\" : undefined);\n util.defineLazyInternal(inst, \"values\", (zod) => {\n if (zod.def.options.every((o) => o._zod.values)) {\n return new Set(zod.def.options.flatMap((option) => Array.from(option._zod.values)));\n }\n return undefined;\n });\n util.defineLazyInternal(inst, \"pattern\", (zod) => {\n if (zod.def.options.every((o) => o._zod.pattern)) {\n const patterns = zod.def.options.map((o) => o._zod.pattern);\n return new RegExp(`^(${patterns.map((p) => util.cleanRegex(p.source)).join(\"|\")})$`);\n }\n return undefined;\n });\n const first = def.options.length === 1 ? def.options[0]._zod.run : null;\n inst._zod.parse = (payload, ctx) => {\n if (first) {\n return first(payload, ctx);\n }\n let async = false;\n const results = [];\n for (const option of def.options) {\n const result = option._zod.run({\n value: payload.value,\n issues: [],\n }, ctx);\n if (result instanceof Promise) {\n results.push(result);\n async = true;\n }\n else {\n if (result.issues.length === 0)\n return result;\n results.push(result);\n }\n }\n if (!async)\n return handleUnionResults(results, payload, inst, ctx);\n return Promise.all(results).then((results) => {\n return handleUnionResults(results, payload, inst, ctx);\n });\n };\n});\nfunction handleExclusiveUnionResults(results, final, inst, ctx) {\n const matches = [];\n for (let i = 0; i < results.length; i++) {\n if (results[i].issues.length === 0)\n matches.push(i);\n }\n if (matches.length === 1) {\n final.value = results[matches[0]].value;\n return final;\n }\n if (matches.length === 0) {\n // No matches - same as regular union\n final.issues.push({\n code: \"invalid_union\",\n input: final.value,\n inst,\n errors: results.map((result) => result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config()))),\n });\n }\n else {\n // Multiple matches - exclusive union failure\n final.issues.push({\n code: \"invalid_union\",\n input: final.value,\n inst,\n errors: [],\n inclusive: false,\n matches,\n });\n }\n return final;\n}\nexport const $ZodXor = /*@__PURE__*/ core.$constructor(\"$ZodXor\", (inst, def) => {\n $ZodUnion.init(inst, def);\n def.inclusive = false;\n const first = def.options.length === 1 ? def.options[0]._zod.run : null;\n inst._zod.parse = (payload, ctx) => {\n if (first) {\n return first(payload, ctx);\n }\n let async = false;\n const results = [];\n for (const option of def.options) {\n const result = option._zod.run({\n value: payload.value,\n issues: [],\n }, ctx);\n if (result instanceof Promise) {\n results.push(result);\n async = true;\n }\n else {\n results.push(result);\n }\n }\n if (!async)\n return handleExclusiveUnionResults(results, payload, inst, ctx);\n return Promise.all(results).then((results) => {\n return handleExclusiveUnionResults(results, payload, inst, ctx);\n });\n };\n});\n/** Returns the option whose discriminator claims `value`, or throws if ambiguous. */\nexport function getDiscriminatedOption(union, value) {\n const internals = union._zod;\n let map = internals.bag.optionsMap;\n if (!map) {\n map = discriminatorMap(internals.def);\n internals.bag.optionsMap = map;\n }\n const option = map.get(value);\n if (option === null)\n throw new Error(`Ambiguous discriminator value \"${String(value)}\"`);\n return option;\n}\nfunction discriminatorMap(def) {\n const map = new Map();\n for (const option of def.options) {\n const values = option._zod.propValues?.[def.discriminator];\n if (!values || values.size === 0)\n throw new Error(`Invalid discriminated union option at index \"${def.options.indexOf(option)}\"`);\n for (const value of values) {\n if (map.has(value)) {\n if (value !== undefined)\n throw new Error(`Duplicate discriminator value \"${String(value)}\"`);\n // keep the collision marked so a later member cannot reclaim it\n map.set(value, null);\n }\n else {\n map.set(value, option);\n }\n }\n }\n return map;\n}\nexport const $ZodDiscriminatedUnion = \n/*@__PURE__*/\ncore.$constructor(\"$ZodDiscriminatedUnion\", (inst, def) => {\n def.inclusive = false;\n $ZodUnion.init(inst, def);\n const _super = inst._zod.parse;\n util.defineLazyInternal(inst, \"propValues\", (zod) => {\n const propValues = {};\n let undefinedCount = 0;\n for (const option of zod.def.options) {\n const pv = option._zod.propValues;\n if (!pv || Object.keys(pv).length === 0)\n throw new Error(`Invalid discriminated union option at index \"${zod.def.options.indexOf(option)}\"`);\n if (pv[zod.def.discriminator]?.has(undefined))\n undefinedCount++;\n for (const [k, v] of Object.entries(pv)) {\n if (!Object.prototype.hasOwnProperty.call(propValues, k)) {\n util.assignProp(propValues, k, new Set());\n }\n for (const val of v) {\n propValues[k].add(val);\n }\n }\n }\n if (!zod.def.unionFallback && undefinedCount > 1)\n propValues[zod.def.discriminator]?.delete(undefined);\n return propValues;\n });\n // Checked now rather than in the lookup map below, so an option that lacks the discriminator fails at the `discriminatedUnion` call instead of on the first object parsed. Options whose shape cannot be enumerated without resolving it \u2014 pipes and lazies \u2014 are left to the map.\n def.options.forEach((option, i) => {\n const propShape = util.rawShape(option._zod.def);\n if (propShape && !Object.prototype.hasOwnProperty.call(propShape, def.discriminator)) {\n throw new Error(`Invalid discriminated union option at index \"${i}\"`);\n }\n });\n const disc = util.cached(() => discriminatorMap(def));\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!util.isObject(input)) {\n payload.issues.push({\n code: \"invalid_type\",\n expected: \"object\",\n input,\n inst,\n });\n return payload;\n }\n const value = input?.[def.discriminator];\n const opt = disc.value.get(value);\n // forward metadata cannot choose an encoder for an absent tag\n if (opt && (value !== undefined || ctx.direction !== \"backward\")) {\n return opt._zod.run(payload, ctx);\n }\n // Fall back to union matching when the fast discriminator path fails:\n // - explicitly enabled via unionFallback, or\n // - during backward direction (encode), since codec-based discriminators have different values in forward vs backward directions\n if (def.unionFallback || ctx.direction === \"backward\") {\n return _super(payload, ctx);\n }\n // no matching discriminator\n payload.issues.push({\n code: \"invalid_union\",\n errors: [],\n note: \"No matching discriminator\",\n discriminator: def.discriminator,\n options: Array.from(disc.value.keys()).filter((value) => disc.value.get(value) !== null),\n input,\n path: [def.discriminator],\n inst,\n });\n return payload;\n };\n});\nexport const $ZodIntersection = /*@__PURE__*/ core.$constructor(\"$ZodIntersection\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n const left = def.left._zod.run({ value: input, issues: [] }, ctx);\n const right = def.right._zod.run({ value: input, issues: [] }, ctx);\n const async = left instanceof Promise || right instanceof Promise;\n if (async) {\n return Promise.all([left, right]).then(([left, right]) => {\n return handleIntersectionResults(payload, left, right);\n });\n }\n return handleIntersectionResults(payload, left, right);\n };\n});\nexport function mergeValues(a, b) {\n // const aType = parse.t(a);\n // const bType = parse.t(b);\n if (a === b) {\n return { valid: true, data: a };\n }\n if (a instanceof Date && b instanceof Date && +a === +b) {\n return { valid: true, data: a };\n }\n if (util.isPlainObject(a) && util.isPlainObject(b)) {\n const bKeys = Object.keys(b);\n const sharedKeys = Object.keys(a).filter((key) => bKeys.indexOf(key) !== -1);\n const newObj = { ...a, ...b };\n if (Object.prototype.hasOwnProperty.call(newObj, \"__proto__\"))\n delete newObj.__proto__;\n for (const key of sharedKeys) {\n if (key === \"__proto__\")\n continue;\n const sharedValue = mergeValues(a[key], b[key]);\n if (!sharedValue.valid) {\n return {\n valid: false,\n mergeErrorPath: [key, ...sharedValue.mergeErrorPath],\n };\n }\n newObj[key] = sharedValue.data;\n }\n return { valid: true, data: newObj };\n }\n if (Array.isArray(a) && Array.isArray(b)) {\n if (a.length !== b.length) {\n return { valid: false, mergeErrorPath: [] };\n }\n const newArray = [];\n for (let index = 0; index < a.length; index++) {\n const itemA = a[index];\n const itemB = b[index];\n const sharedValue = mergeValues(itemA, itemB);\n if (!sharedValue.valid) {\n return {\n valid: false,\n mergeErrorPath: [index, ...sharedValue.mergeErrorPath],\n };\n }\n newArray.push(sharedValue.data);\n }\n return { valid: true, data: newArray };\n }\n return { valid: false, mergeErrorPath: [] };\n}\nfunction handleIntersectionResults(result, left, right) {\n // Track which side(s) reject each key. A key rejection is reported only when BOTH sides reject it, so a key owned by one branch survives the other's key schema. strictObject reports these as unrecognized_keys; a record with an open key schema reports one invalid_key per key.\n const unrecKeys = new Map();\n let unrecIssue;\n const keyIssues = new Map();\n const collect = (iss, side) => {\n let keys;\n if (iss.code === \"unrecognized_keys\" && !iss.path?.length) {\n unrecIssue ?? (unrecIssue = iss);\n keys = iss.keys;\n }\n else if (iss.code === \"invalid_key\" && iss.origin === \"record\" && iss.path?.length === 1) {\n const k = String(iss.path[0]);\n if (!keyIssues.has(k))\n keyIssues.set(k, iss);\n keys = [k];\n }\n else {\n return false;\n }\n for (const k of keys) {\n if (!unrecKeys.has(k))\n unrecKeys.set(k, {});\n unrecKeys.get(k)[side] = true;\n }\n return true;\n };\n for (const iss of left.issues) {\n if (!collect(iss, \"l\"))\n result.issues.push(iss);\n }\n for (const iss of right.issues) {\n if (!collect(iss, \"r\"))\n result.issues.push(iss);\n }\n // Report only keys rejected by BOTH sides\n const bothKeys = [...unrecKeys].filter(([, f]) => f.l && f.r).map(([k]) => k);\n if (bothKeys.length) {\n const aggregated = unrecIssue ? bothKeys.filter((k) => unrecIssue.keys.includes(k)) : [];\n if (aggregated.length)\n result.issues.push({ ...unrecIssue, keys: aggregated });\n for (const k of bothKeys) {\n if (!aggregated.includes(k) && keyIssues.has(k))\n result.issues.push(keyIssues.get(k));\n }\n }\n const merged = mergeValues(left.value, right.value);\n if (!merged.valid) {\n if (util.aborted(result))\n return result;\n throw new Error(`Unmergable intersection. Error path: ` + `${JSON.stringify(merged.mergeErrorPath)}`);\n }\n result.value = merged.data;\n return result;\n}\nexport const $ZodTuple = /*@__PURE__*/ core.$constructor(\"$ZodTuple\", (inst, def) => {\n $ZodType.init(inst, def);\n const items = def.items;\n const memo = core.globalConfig.memoizer;\n memo?.attach(inst);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!Array.isArray(input)) {\n payload.issues.push({\n input,\n inst,\n expected: \"tuple\",\n code: \"invalid_type\",\n });\n return payload;\n }\n payload.value = memo ? memo.alloc(inst, payload, [], ctx) : [];\n const proms = [];\n const optinStart = getTupleOptStart(items, \"optin\");\n const optoutStart = getTupleOptStart(items, \"optout\");\n if (!def.rest) {\n if (input.length < optinStart) {\n payload.issues.push({\n code: \"too_small\",\n minimum: optinStart,\n inclusive: true,\n input,\n inst,\n origin: \"array\",\n });\n return payload;\n }\n if (input.length > items.length) {\n payload.issues.push({\n code: \"too_big\",\n maximum: items.length,\n inclusive: true,\n input,\n inst,\n origin: \"array\",\n });\n }\n }\n // Run every item in parallel, collecting results into an indexed array. The post-processing in `handleTupleResults` walks them in order so it can decide whether an absent optional-output error can truncate the tail or must be reported to preserve required output.\n const itemResults = new Array(items.length);\n // only tracked when there is a rest loop to skip\n const abortEarly = def.rest ? ctx?.abortEarly : undefined;\n let itemAborted = false;\n for (let i = 0; i < items.length; i++) {\n const r = items[i]._zod.run({ value: input[i], issues: [] }, ctx);\n if (r instanceof Promise) {\n proms.push(r.then((rr) => {\n itemResults[i] = rr;\n }));\n }\n else {\n itemResults[i] = r;\n if (abortEarly && !itemAborted && r.issues.length)\n itemAborted = util.aborted(r);\n }\n }\n // sound because rest is non-empty exactly when every fixed index is present, the one case handleTupleResults cannot discard an item's issues\n if (def.rest && !itemAborted) {\n let i = items.length - 1;\n const rest = input.slice(items.length);\n let seen = payload.issues.length;\n for (const el of rest) {\n if (abortEarly && payload.issues.length !== seen) {\n if (util.aborted(payload, seen))\n break;\n seen = payload.issues.length;\n }\n i++;\n const result = def.rest._zod.run({ value: el, issues: [] }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((r) => handleTupleResult(r, payload, i)));\n }\n else {\n handleTupleResult(result, payload, i);\n }\n }\n }\n if (proms.length) {\n return Promise.all(proms).then(() => handleTupleResults(itemResults, payload, items, input, optoutStart));\n }\n return handleTupleResults(itemResults, payload, items, input, optoutStart);\n };\n});\nfunction getTupleOptStart(items, key) {\n for (let i = items.length - 1; i >= 0; i--) {\n // optin is a three-rung ladder so any rung above `undefined` permits an absent slot; optout stays two-valued.\n const omittable = key === \"optin\" ? items[i]._zod.optin !== undefined : items[i]._zod.optout === \"optional\";\n if (!omittable)\n return i + 1;\n }\n return 0;\n}\nfunction handleTupleResult(result, final, index) {\n if (result.issues.length) {\n final.issues.push(...util.prefixIssues(index, result.issues));\n }\n final.value[index] = result.value;\n}\nfunction handleTupleResults(itemResults, final, items, input, optoutStart) {\n // Walk results in order. Mirror $ZodObject's swallow-on-absent-optional rule, but only after `optoutStart`: the first index where the output tuple tail can be absent.\n for (let i = 0; i < items.length; i++) {\n const r = itemResults[i];\n const isPresent = i < input.length;\n // The array analog of `handlePropertyResult`'s absent-key early return: the middle rung permits absence without supplying anything in its place, so the tail truncates here instead of materializing whatever the item made of `undefined`.\n if (!isPresent && i >= optoutStart && items[i]._zod.optin === \"optional\") {\n final.value.length = i;\n break;\n }\n if (r.issues.length) {\n if (!isPresent && i >= optoutStart) {\n final.value.length = i;\n break;\n }\n final.issues.push(...util.prefixIssues(i, r.issues));\n }\n final.value[i] = r.value;\n }\n // Drop trailing slots that produced `undefined` for absent input\n // (the array analog of an absent optional key on an object). The\n // `i >= input.length` floor is critical: an explicit `undefined`\n // *inside* the input must be preserved even when the schema is\n // optional-out (e.g. `z.string().or(z.undefined())` accepting an\n // explicit undefined value).\n for (let i = final.value.length - 1; i >= input.length; i--) {\n if (items[i]._zod.optout === \"optional\" && final.value[i] === undefined) {\n final.value.length = i;\n }\n else {\n break;\n }\n }\n return final;\n}\nexport const $ZodRecord = /*@__PURE__*/ core.$constructor(\"$ZodRecord\", (inst, def) => {\n $ZodType.init(inst, def);\n const memo = core.globalConfig.memoizer;\n memo?.attach(inst);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!util.isPlainObject(input)) {\n payload.issues.push({\n expected: \"record\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n // no guard in either loop below: a record's invalid_key aborts but an enclosing intersection can reconcile it, so a stopped loop hides keys the sibling does not own and the intersection then rejects nothing\n const proms = [];\n const values = def.keyType._zod.values;\n if (values && !def.partial) {\n payload.value = memo ? memo.alloc(inst, payload, {}, ctx) : {};\n const recordKeys = new Set();\n for (const key of values) {\n if (typeof key === \"string\" || typeof key === \"number\" || typeof key === \"symbol\") {\n recordKeys.add(typeof key === \"number\" ? key.toString() : key);\n // A declared __proto__ is stripped but is not an unrecognized key.\n if (key === \"__proto__\")\n continue;\n const keyResult = def.keyType._zod.run({ value: key, issues: [] }, ctx);\n if (keyResult instanceof Promise) {\n throw new Error(\"Async schemas not supported in object keys currently\");\n }\n if (keyResult.issues.length) {\n payload.issues.push({\n code: \"invalid_key\",\n origin: \"record\",\n issues: keyResult.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n input: key,\n path: [key],\n inst,\n });\n continue;\n }\n const outKey = keyResult.value;\n if (outKey === \"__proto__\")\n continue;\n const result = def.valueType._zod.run({ value: input[key], issues: [] }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(key, result.issues));\n }\n payload.value[outKey] = result.value;\n }));\n }\n else {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(key, result.issues));\n }\n payload.value[outKey] = result.value;\n }\n }\n }\n let unrecognized;\n for (const key in input) {\n if (!recordKeys.has(key)) {\n if (def.mode === \"loose\") {\n // skip __proto__ so it can't replace the result prototype via the assignment setter on the plain {} we build into\n if (key === \"__proto__\")\n continue;\n payload.value[key] = input[key];\n }\n else {\n unrecognized = unrecognized ?? [];\n unrecognized.push(key);\n }\n }\n }\n if (unrecognized && unrecognized.length > 0) {\n payload.issues.push({\n code: \"unrecognized_keys\",\n input,\n inst,\n keys: unrecognized,\n continue: true,\n });\n }\n }\n else {\n payload.value = memo ? memo.alloc(inst, payload, {}, ctx) : {};\n // An enumerable key schema declares which keys the record owns, so a key outside the set is unrecognized. A non-enumerable one (regex, refine) is a constraint every key must satisfy, so a failing key is invalid. Only the former is reconcilable against the other side of an intersection.\n let unrecognized;\n // Reflect.ownKeys for Symbol-key support; filter non-enumerable to match z.object()\n for (const key of Reflect.ownKeys(input)) {\n if (key === \"__proto__\")\n continue;\n if (!Object.prototype.propertyIsEnumerable.call(input, key))\n continue;\n let keyResult = def.keyType._zod.run({ value: key, issues: [] }, ctx);\n if (keyResult instanceof Promise) {\n throw new Error(\"Async schemas not supported in object keys currently\");\n }\n // Numeric string fallback: if key is a numeric string and failed, retry with Number(key). This handles z.number(), z.literal([1, 2, 3]), and unions containing numeric literals\n const checkNumericKey = typeof key === \"string\" && regexes.number.test(key) && keyResult.issues.length;\n if (checkNumericKey) {\n const retryResult = def.keyType._zod.run({ value: Number(key), issues: [] }, ctx);\n if (retryResult instanceof Promise) {\n throw new Error(\"Async schemas not supported in object keys currently\");\n }\n if (retryResult.issues.length === 0) {\n keyResult = retryResult;\n }\n }\n if (keyResult.issues.length) {\n if (def.mode === \"loose\") {\n // Pass through unchanged\n payload.value[key] = input[key];\n }\n else if (values) {\n unrecognized = unrecognized ?? [];\n unrecognized.push(key);\n }\n else {\n // Default \"strict\" behavior: error on invalid key\n payload.issues.push({\n code: \"invalid_key\",\n origin: \"record\",\n issues: keyResult.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n input: key,\n path: [key],\n inst,\n });\n }\n continue;\n }\n // the guard above tests the raw input key, but the key schema can normalize an ordinary key into __proto__; re-check the key we actually write under\n const outKey = keyResult.value;\n if (outKey === \"__proto__\")\n continue;\n const result = def.valueType._zod.run({ value: input[key], issues: [] }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(key, result.issues));\n }\n payload.value[outKey] = result.value;\n }));\n }\n else {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(key, result.issues));\n }\n payload.value[outKey] = result.value;\n }\n }\n if (unrecognized && unrecognized.length > 0) {\n payload.issues.push({\n code: \"unrecognized_keys\",\n input,\n inst,\n keys: unrecognized,\n continue: true,\n });\n }\n }\n if (proms.length) {\n return Promise.all(proms).then(() => payload);\n }\n return payload;\n };\n});\nexport const $ZodMap = /*@__PURE__*/ core.$constructor(\"$ZodMap\", (inst, def) => {\n $ZodType.init(inst, def);\n const memo = core.globalConfig.memoizer;\n memo?.attach(inst);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!(input instanceof Map)) {\n payload.issues.push({\n expected: \"map\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n const proms = [];\n payload.value = memo ? memo.alloc(inst, payload, new Map(), ctx) : new Map();\n const abortEarly = ctx?.abortEarly;\n let seen = payload.issues.length;\n for (const [key, value] of input) {\n if (abortEarly && payload.issues.length !== seen) {\n if (util.aborted(payload, seen))\n break;\n seen = payload.issues.length;\n }\n const keyResult = def.keyType._zod.run({ value: key, issues: [] }, ctx);\n const valueResult = def.valueType._zod.run({ value: value, issues: [] }, ctx);\n if (keyResult instanceof Promise || valueResult instanceof Promise) {\n proms.push(Promise.all([keyResult, valueResult]).then(([keyResult, valueResult]) => {\n handleMapResult(keyResult, valueResult, payload, key, input, inst, ctx);\n }));\n }\n else {\n handleMapResult(keyResult, valueResult, payload, key, input, inst, ctx);\n }\n }\n if (proms.length)\n return Promise.all(proms).then(() => payload);\n return payload;\n };\n});\nfunction handleMapResult(keyResult, valueResult, final, key, input, inst, ctx) {\n if (keyResult.issues.length) {\n if (util.propertyKeyTypes.has(typeof key)) {\n final.issues.push(...util.prefixIssues(key, keyResult.issues));\n }\n else {\n final.issues.push({\n code: \"invalid_key\",\n origin: \"map\",\n input,\n inst,\n issues: keyResult.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n });\n }\n }\n if (valueResult.issues.length) {\n if (util.propertyKeyTypes.has(typeof key)) {\n final.issues.push(...util.prefixIssues(key, valueResult.issues));\n }\n else {\n final.issues.push({\n origin: \"map\",\n code: \"invalid_element\",\n input,\n inst,\n key: key,\n issues: valueResult.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n });\n }\n }\n final.value.set(keyResult.value, valueResult.value);\n}\nexport const $ZodSet = /*@__PURE__*/ core.$constructor(\"$ZodSet\", (inst, def) => {\n $ZodType.init(inst, def);\n const memo = core.globalConfig.memoizer;\n memo?.attach(inst);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!(input instanceof Set)) {\n payload.issues.push({\n input,\n inst,\n expected: \"set\",\n code: \"invalid_type\",\n });\n return payload;\n }\n const proms = [];\n payload.value = memo ? memo.alloc(inst, payload, new Set(), ctx) : new Set();\n const abortEarly = ctx?.abortEarly;\n let seen = payload.issues.length;\n for (const item of input) {\n if (abortEarly && payload.issues.length !== seen) {\n if (util.aborted(payload, seen))\n break;\n seen = payload.issues.length;\n }\n const result = def.valueType._zod.run({ value: item, issues: [] }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => handleSetResult(result, payload)));\n }\n else\n handleSetResult(result, payload);\n }\n if (proms.length)\n return Promise.all(proms).then(() => payload);\n return payload;\n };\n});\nfunction handleSetResult(result, final) {\n if (result.issues.length) {\n final.issues.push(...result.issues);\n }\n final.value.add(result.value);\n}\nexport const $ZodEnum = /*@__PURE__*/ core.$constructor(\"$ZodEnum\", (inst, def) => {\n $ZodType.init(inst, def);\n const values = util.getEnumValues(def.entries);\n const valuesSet = new Set(values);\n inst._zod.values = valuesSet;\n util.defineLazyInternal(inst, \"pattern\", (zod) => {\n const patternValues = util.getEnumValues(zod.def.entries).filter((k) => util.propertyKeyTypes.has(typeof k));\n // unmatchable fallback, RE2-safe: an empty alternation would compile to /^()$/, which matches \"\"\n return new RegExp(patternValues.length ? `^(${patternValues.map((o) => util.escapeRegex(o.toString())).join(\"|\")})$` : \"^[^\\\\s\\\\S]$\");\n });\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (valuesSet.has(input)) {\n return payload;\n }\n payload.issues.push({\n code: \"invalid_value\",\n values,\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodLiteral = /*@__PURE__*/ core.$constructor(\"$ZodLiteral\", (inst, def) => {\n $ZodType.init(inst, def);\n const values = new Set(def.values);\n inst._zod.values = values;\n util.defineLazyInternal(inst, \"pattern\", (zod) => {\n const vals = zod.def.values;\n // unmatchable fallback, RE2-safe: an empty alternation would compile to /^()$/, which matches \"\"\n return new RegExp(vals.length\n ? `^(${vals\n .map((o) => typeof o === \"string\" ? util.escapeRegex(o) : o ? util.escapeRegex(o.toString()) : String(o))\n .join(\"|\")})$`\n : \"^[^\\\\s\\\\S]$\");\n });\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (values.has(input)) {\n return payload;\n }\n payload.issues.push({\n code: \"invalid_value\",\n values: def.values,\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodFile = /*@__PURE__*/ core.$constructor(\"$ZodFile\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n // @ts-ignore\n if (input instanceof File)\n return payload;\n payload.issues.push({\n expected: \"file\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodTransform = /*@__PURE__*/ core.$constructor(\"$ZodTransform\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.optin = \"optional\";\n core.globalConfig.memoizer?.guard(inst);\n inst._zod.parse = (payload, ctx) => {\n if (ctx.direction === \"backward\") {\n throw new core.$ZodEncodeError(inst.constructor.name);\n }\n const _out = def.transform(payload.value, payload);\n if (ctx.async) {\n const output = _out instanceof Promise ? _out : Promise.resolve(_out);\n return output.then((output) => {\n payload.value = output;\n return payload;\n });\n }\n if (_out instanceof Promise) {\n throw new core.$ZodAsyncError();\n }\n payload.value = _out;\n return payload;\n };\n});\nfunction handleOptionalResult(payload, result) {\n // A substituting schema that still failed has no usable answer; yield undefined. Its issues are simply dropped: it ran on a payload of its own, so there is no shared array to truncate and nothing of the caller's to lose with it.\n payload.value = result.issues.length ? undefined : result.value;\n return payload;\n}\nexport const $ZodOptional = /*@__PURE__*/ core.$constructor(\"$ZodOptional\", (inst, def) => {\n $ZodType.init(inst, def);\n // .optional() propagates absence rather than substituting for it, so a defaulted inner keeps its rung.\n util.defineLazyInternal(inst, \"optin\", (zod) => zod.def.innerType._zod.optin === \"defaulted\" ? \"defaulted\" : \"optional\");\n inst._zod.optout = \"optional\";\n util.defineLazyInternal(inst, \"values\", (zod) => {\n const values = zod.def.innerType._zod.values;\n return values ? new Set([...values, undefined]) : undefined;\n });\n util.defineLazyInternal(inst, \"pattern\", (zod) => {\n const pattern = zod.def.innerType._zod.pattern;\n return pattern ? new RegExp(`^(${util.cleanRegex(pattern.source)})?$`) : undefined;\n });\n inst._zod.parse = (payload, ctx) => {\n if (payload.value === undefined) {\n // Only the top rung substitutes a value for absence; everything else leaves it intact, which is what .optional() means.\n if (def.innerType._zod.optin !== \"defaulted\")\n return payload;\n // Its own payload, for the same reason $ZodCatch gets one: a pipe forwards an unrecognized key through the caller's issues array, and this must not read that as the substituting schema failing and drop it.\n const result = def.innerType._zod.run({ value: payload.value, issues: [] }, ctx);\n if (result instanceof Promise)\n return result.then((result) => handleOptionalResult(payload, result));\n return handleOptionalResult(payload, result);\n }\n return def.innerType._zod.run(payload, ctx);\n };\n});\nexport const $ZodExactOptional = /*@__PURE__*/ core.$constructor(\"$ZodExactOptional\", (inst, def) => {\n // Call parent init - inherits optin/optout = \"optional\"\n $ZodOptional.init(inst, def);\n // Override values/pattern to NOT add undefined\n util.defineLazyInternal(inst, \"values\", (zod) => zod.def.innerType._zod.values);\n util.defineLazyInternal(inst, \"pattern\", (zod) => zod.def.innerType._zod.pattern);\n // Override parse to just delegate (no undefined handling)\n inst._zod.parse = (payload, ctx) => {\n return def.innerType._zod.run(payload, ctx);\n };\n});\nexport const $ZodNullable = /*@__PURE__*/ core.$constructor(\"$ZodNullable\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazyInternal(inst, \"optin\", (zod) => zod.def.innerType._zod.optin);\n util.defineLazyInternal(inst, \"optout\", (zod) => zod.def.innerType._zod.optout);\n util.defineLazyInternal(inst, \"pattern\", (zod) => {\n const pattern = zod.def.innerType._zod.pattern;\n return pattern ? new RegExp(`^(${util.cleanRegex(pattern.source)}|null)$`) : undefined;\n });\n util.defineLazyInternal(inst, \"values\", (zod) => {\n return zod.def.innerType._zod.values ? new Set([...zod.def.innerType._zod.values, null]) : undefined;\n });\n inst._zod.parse = (payload, ctx) => {\n // Forward direction (decode): allow null to pass through\n if (payload.value === null)\n return payload;\n return def.innerType._zod.run(payload, ctx);\n };\n});\nexport const $ZodDefault = /*@__PURE__*/ core.$constructor(\"$ZodDefault\", (inst, def) => {\n $ZodType.init(inst, def);\n // inst._zod.qin = \"true\";\n inst._zod.optin = \"defaulted\";\n util.defineLazyInternal(inst, \"values\", (zod) => zod.def.innerType._zod.values);\n inst._zod.parse = (payload, ctx) => {\n if (ctx.direction === \"backward\") {\n return def.innerType._zod.run(payload, ctx);\n }\n // Forward direction (decode): apply defaults for undefined input\n if (payload.value === undefined) {\n payload.value = def.defaultValue;\n /**\n * $ZodDefault returns the default value immediately in forward direction.\n * It doesn't pass the default value into the validator (\"prefault\"). There's no reason to pass the default value through validation. The validity of the default is enforced by TypeScript statically. Otherwise, it's the responsibility of the user to ensure the default is valid. In the case of pipes with divergent in/out types, you can specify the default on the `in` schema of your ZodPipe to set a \"prefault\" for the pipe. */\n return payload;\n }\n // Forward direction: continue with default handling\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then((result) => handleDefaultResult(result, def));\n }\n return handleDefaultResult(result, def);\n };\n});\nfunction handleDefaultResult(payload, def) {\n if (payload.value === undefined) {\n payload.value = def.defaultValue;\n }\n return payload;\n}\nexport const $ZodPrefault = /*@__PURE__*/ core.$constructor(\"$ZodPrefault\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.optin = \"defaulted\";\n util.defineLazyInternal(inst, \"values\", (zod) => zod.def.innerType._zod.values);\n inst._zod.parse = (payload, ctx) => {\n if (ctx.direction === \"backward\") {\n return def.innerType._zod.run(payload, ctx);\n }\n // Forward direction (decode): apply prefault for undefined input\n if (payload.value === undefined) {\n payload.value = def.defaultValue;\n }\n return def.innerType._zod.run(payload, ctx);\n };\n});\nexport const $ZodNonOptional = /*@__PURE__*/ core.$constructor(\"$ZodNonOptional\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazyInternal(inst, \"values\", (zod) => {\n const v = zod.def.innerType._zod.values;\n return v ? new Set([...v].filter((x) => x !== undefined)) : undefined;\n });\n inst._zod.parse = (payload, ctx) => {\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then((result) => handleNonOptionalResult(result, inst));\n }\n return handleNonOptionalResult(result, inst);\n };\n});\nfunction handleNonOptionalResult(payload, inst) {\n if (!payload.issues.length && payload.value === undefined) {\n payload.issues.push({\n code: \"invalid_type\",\n expected: \"nonoptional\",\n input: payload.value,\n inst,\n });\n }\n return payload;\n}\nexport const $ZodSuccess = /*@__PURE__*/ core.$constructor(\"$ZodSuccess\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n if (ctx.direction === \"backward\") {\n throw new core.$ZodEncodeError(\"ZodSuccess\");\n }\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then((result) => {\n payload.value = result.issues.length === 0;\n return payload;\n });\n }\n payload.value = result.issues.length === 0;\n return payload;\n };\n});\nfunction handleCatchResult(payload, result, def, ctx) {\n if (!result.issues.length) {\n payload.value = result.value;\n // The value carries up, so the flag describing it has to carry with it: a back-edge into a node still being parsed must not be frozen by an enclosing readonly, and its checks belong to the node itself. Guarded so the ordinary case adds no own property.\n if (result.memo)\n payload.memo = true;\n return payload;\n }\n // Spread the inner's own payload, not ours: `value` has to stay the input the catch was handed, and the inner ran on a payload of its own so its issues are already private to this call.\n payload.value = def.catchValue({\n ...result,\n value: payload.value,\n error: {\n issues: result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n },\n input: payload.value,\n });\n return payload;\n}\nexport const $ZodCatch = /*@__PURE__*/ core.$constructor(\"$ZodCatch\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazyInternal(inst, \"optin\", (zod) => zod.def.innerType._zod.optin === \"defaulted\" ? \"defaulted\" : \"optional\");\n util.defineLazyInternal(inst, \"optout\", (zod) => zod.def.innerType._zod.optout);\n util.defineLazyInternal(inst, \"values\", (zod) => zod.def.innerType._zod.values);\n inst._zod.parse = (payload, ctx) => {\n if (ctx.direction === \"backward\") {\n return def.innerType._zod.run(payload, ctx);\n }\n // Forward direction (decode): apply catch logic\n const result = def.innerType._zod.run({ value: payload.value, issues: [] }, ctx);\n if (result instanceof Promise) {\n return result.then((result) => handleCatchResult(payload, result, def, ctx));\n }\n return handleCatchResult(payload, result, def, ctx);\n };\n});\nexport const $ZodNaN = /*@__PURE__*/ core.$constructor(\"$ZodNaN\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n if (typeof payload.value !== \"number\" || !Number.isNaN(payload.value)) {\n payload.issues.push({\n input: payload.value,\n inst,\n expected: \"nan\",\n code: \"invalid_type\",\n });\n return payload;\n }\n return payload;\n };\n});\nexport const $ZodPipe = /*@__PURE__*/ core.$constructor(\"$ZodPipe\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazyInternal(inst, \"values\", (zod) => zod.def.in._zod.values);\n util.defineLazyInternal(inst, \"optin\", (zod) => zod.def.in._zod.optin);\n util.defineLazyInternal(inst, \"optout\", (zod) => zod.def.out._zod.optout);\n util.defineLazyInternal(inst, \"propValues\", (zod) => zod.def.in._zod.propValues);\n inst._zod.parse = (payload, ctx) => {\n if (ctx.direction === \"backward\") {\n const right = def.out._zod.run(payload, ctx);\n if (right instanceof Promise) {\n return right.then((right) => handlePipeResult(right, def.in, ctx));\n }\n return handlePipeResult(right, def.in, ctx);\n }\n const left = def.in._zod.run(payload, ctx);\n if (left instanceof Promise) {\n return left.then((left) => handlePipeResult(left, def.out, ctx));\n }\n return handlePipeResult(left, def.out, ctx);\n };\n});\nfunction handlePipeResult(left, next, ctx) {\n // Any issue stops the pipe, so a failing refinement never feeds its transform. An unrecognized key is the exception: it describes the input's extra properties, not the value being piped, and an enclosing intersection may yet reconcile it.\n if (left.issues.some((iss) => iss.code !== \"unrecognized_keys\")) {\n // prevent further checks\n left.aborted = true;\n return left;\n }\n return next._zod.run({ value: left.value, issues: left.issues }, ctx);\n}\nexport const $ZodCodec = /*@__PURE__*/ core.$constructor(\"$ZodCodec\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazyInternal(inst, \"values\", (zod) => zod.def.in._zod.values);\n util.defineLazyInternal(inst, \"optin\", (zod) => zod.def.in._zod.optin);\n util.defineLazyInternal(inst, \"optout\", (zod) => zod.def.out._zod.optout);\n util.defineLazyInternal(inst, \"propValues\", (zod) => zod.def.in._zod.propValues);\n inst._zod.parse = (payload, ctx) => {\n const direction = ctx.direction || \"forward\";\n if (direction === \"forward\") {\n const left = def.in._zod.run(payload, ctx);\n if (left instanceof Promise) {\n return left.then((left) => handleCodecAResult(left, def, ctx));\n }\n return handleCodecAResult(left, def, ctx);\n }\n else {\n const right = def.out._zod.run(payload, ctx);\n if (right instanceof Promise) {\n return right.then((right) => handleCodecAResult(right, def, ctx));\n }\n return handleCodecAResult(right, def, ctx);\n }\n };\n});\nfunction handleCodecAResult(result, def, ctx) {\n if (result.issues.length) {\n // prevent further checks\n result.aborted = true;\n return result;\n }\n const direction = ctx.direction || \"forward\";\n if (direction === \"forward\") {\n const transformed = def.transform(result.value, result);\n if (transformed instanceof Promise) {\n return transformed.then((value) => handleCodecTxResult(result, value, def.out, ctx));\n }\n return handleCodecTxResult(result, transformed, def.out, ctx);\n }\n else {\n const transformed = def.reverseTransform(result.value, result);\n if (transformed instanceof Promise) {\n return transformed.then((value) => handleCodecTxResult(result, value, def.in, ctx));\n }\n return handleCodecTxResult(result, transformed, def.in, ctx);\n }\n}\nfunction handleCodecTxResult(left, value, nextSchema, ctx) {\n // Check if transform added any issues\n if (left.issues.length) {\n left.aborted = true;\n return left;\n }\n return nextSchema._zod.run({ value, issues: left.issues }, ctx);\n}\nexport const $ZodPreprocess = /*@__PURE__*/ core.$constructor(\"$ZodPreprocess\", (inst, def) => {\n $ZodPipe.init(inst, def);\n});\nexport const $ZodReadonly = /*@__PURE__*/ core.$constructor(\"$ZodReadonly\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazyInternal(inst, \"propValues\", (zod) => zod.def.innerType._zod.propValues);\n util.defineLazyInternal(inst, \"values\", (zod) => zod.def.innerType._zod.values);\n util.defineLazyInternal(inst, \"optin\", (zod) => zod.def.innerType?._zod?.optin);\n util.defineLazyInternal(inst, \"optout\", (zod) => zod.def.innerType?._zod?.optout);\n inst._zod.parse = (payload, ctx) => {\n if (ctx.direction === \"backward\") {\n return def.innerType._zod.run(payload, ctx);\n }\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then(handleReadonlyResult);\n }\n return handleReadonlyResult(result);\n };\n});\nfunction handleReadonlyResult(payload) {\n // A repeat visit hands back a node that is still being built; freezing it here would make the rest of its keys fail to assign.\n if (!payload.memo)\n payload.value = Object.freeze(payload.value);\n return payload;\n}\n// a leaf's pattern source with its own checks folded in: the last pattern-carrying check wins, else length bounds narrow the catch-all, else an integer format narrows the number form. the fold lives here instead of on `_zod.pattern` so a bundle without template literals never pays for it\nfunction leafPattern(schema) {\n const def = schema._zod.def;\n let pattern = def.pattern;\n let isInt = !!def.format?.includes(\"int\");\n let minimum;\n let maximum;\n for (const ch of def.checks ?? []) {\n const d = ch._zod.def;\n if (d.pattern)\n pattern = d.pattern;\n isInt || (isInt = !!d.format?.includes(\"int\"));\n const lo = d.minimum ?? d.length;\n const hi = d.maximum ?? d.length;\n if (lo !== undefined && (minimum === undefined || lo > minimum))\n minimum = lo;\n if (hi !== undefined && (maximum === undefined || hi < maximum))\n maximum = hi;\n }\n if (pattern)\n return pattern.source;\n // an empty range matches nothing at runtime, and `{8,5}` is not a legal quantifier\n if (minimum !== undefined && maximum !== undefined && minimum > maximum)\n return \"(?!)\";\n if (minimum !== undefined || maximum !== undefined)\n return regexes.string({ minimum, maximum }).source;\n const own = schema._zod.pattern;\n return (isInt && own === regexes.number ? regexes.integer : own)?.source;\n}\n// a part's pattern source. a wrapper's pattern embeds its inner pattern's source verbatim, so the folded form is substituted in place without knowing the wrapper's own composition; a union's options are joined the way the union builds its own pattern\nfunction partPattern(schema) {\n const def = schema._zod.def;\n const own = schema._zod.pattern?.source;\n // lazy resolves its inner on the internals, not the def\n const inner = def.innerType ?? schema._zod.innerType;\n if (inner) {\n const before = inner._zod.pattern?.source;\n const after = partPattern(inner);\n if (own && before && after && after !== before) {\n return own.replace(util.cleanRegex(before), () => util.cleanRegex(after));\n }\n return own;\n }\n if (def.options) {\n const sources = def.options.map(partPattern);\n if (sources.every(Boolean))\n return `^(${sources.map((s) => util.cleanRegex(s)).join(\"|\")})$`;\n }\n return leafPattern(schema);\n}\nexport const $ZodTemplateLiteral = /*@__PURE__*/ core.$constructor(\"$ZodTemplateLiteral\", (inst, def) => {\n $ZodType.init(inst, def);\n const regexParts = [];\n for (const part of def.parts) {\n if (typeof part === \"object\" && part !== null) {\n // is Zod schema\n const source = partPattern(part);\n if (!source) {\n throw new Error(`Invalid template literal part, no pattern found: ${[...part._zod.traits].shift()}`);\n }\n regexParts.push(util.cleanRegex(source));\n }\n else if (part === null || util.primitiveTypes.has(typeof part)) {\n regexParts.push(util.escapeRegex(`${part}`));\n }\n else {\n throw new Error(`Invalid template literal part: ${part}`);\n }\n }\n inst._zod.pattern = new RegExp(`^${regexParts.join(\"\")}$`);\n inst._zod.parse = (payload, _ctx) => {\n if (typeof payload.value !== \"string\") {\n payload.issues.push({\n input: payload.value,\n inst,\n expected: \"string\",\n code: \"invalid_type\",\n });\n return payload;\n }\n inst._zod.pattern.lastIndex = 0;\n if (!inst._zod.pattern.test(payload.value)) {\n payload.issues.push({\n input: payload.value,\n inst,\n code: \"invalid_format\",\n format: def.format ?? \"template_literal\",\n pattern: inst._zod.pattern.source,\n });\n return payload;\n }\n return payload;\n };\n});\nexport const $ZodFunction = /*@__PURE__*/ core.$constructor(\"$ZodFunction\", (inst, def) => {\n $ZodType.init(inst, def);\n // Defined, not assigned: the classic prototype exposes `_def` as a getter with no setter.\n Object.defineProperty(inst, \"_def\", { value: def });\n inst._zod.def = def;\n inst.implement = (func) => {\n if (typeof func !== \"function\") {\n throw new Error(\"implement() must be called with a function\");\n }\n // Defined inline so the closure stays anonymous: binding it to a `const` first names it, which costs 256 bytes per implemented function.\n return Object.defineProperty(function (...args) {\n const parsedArgs = inst._def.input ? parse(inst._def.input, args) : args;\n const result = Reflect.apply(func, this, parsedArgs);\n if (inst._def.output) {\n return parse(inst._def.output, result);\n }\n return result;\n }, \"_zod\", { value: inst._zod, enumerable: false });\n };\n inst.implementAsync = (func) => {\n if (typeof func !== \"function\") {\n throw new Error(\"implementAsync() must be called with a function\");\n }\n return Object.defineProperty(async function (...args) {\n const parsedArgs = inst._def.input ? await parseAsync(inst._def.input, args) : args;\n const result = await Reflect.apply(func, this, parsedArgs);\n if (inst._def.output) {\n return await parseAsync(inst._def.output, result);\n }\n return result;\n }, \"_zod\", { value: inst._zod, enumerable: false });\n };\n inst._zod.parse = (payload, _ctx) => {\n if (typeof payload.value !== \"function\") {\n payload.issues.push({\n code: \"invalid_type\",\n expected: \"function\",\n input: payload.value,\n inst,\n });\n return payload;\n }\n // Check if output is a promise type to determine if we should use async implementation\n const hasPromiseOutput = inst._def.output && inst._def.output._zod.def.type === \"promise\";\n if (hasPromiseOutput) {\n payload.value = inst.implementAsync(payload.value);\n }\n else {\n payload.value = inst.implement(payload.value);\n }\n return payload;\n };\n inst.input = (...args) => {\n const F = inst.constructor;\n if (Array.isArray(args[0])) {\n return new F({\n type: \"function\",\n input: new $ZodTuple({\n type: \"tuple\",\n items: args[0],\n rest: args[1],\n }),\n output: inst._def.output,\n });\n }\n return new F({\n type: \"function\",\n input: args[0],\n output: inst._def.output,\n });\n };\n inst.output = (output) => {\n const F = inst.constructor;\n return new F({\n type: \"function\",\n input: inst._def.input,\n output,\n });\n };\n return inst;\n});\nexport const $ZodPromise = /*@__PURE__*/ core.$constructor(\"$ZodPromise\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n return Promise.resolve(payload.value).then((inner) => def.innerType._zod.run({ value: inner, issues: [] }, ctx));\n };\n});\nexport const $ZodLazy = /*@__PURE__*/ core.$constructor(\"$ZodLazy\", (inst, def) => {\n $ZodType.init(inst, def);\n // Cache the resolved inner type on the shared `def` so all clones of this lazy (e.g. via `.describe()`/`.meta()`) share the same inner instance, preserving identity for cycle detection on recursive schemas.\n util.defineLazy(inst._zod, \"innerType\", () => {\n const d = def;\n if (!d._cachedInner)\n d._cachedInner = def.getter();\n return d._cachedInner;\n });\n util.defineLazyInternal(inst, \"pattern\", (zod) => zod.innerType?._zod?.pattern);\n util.defineLazyInternal(inst, \"propValues\", (zod) => zod.innerType?._zod?.propValues);\n util.defineLazyInternal(inst, \"optin\", (zod) => zod.innerType?._zod?.optin ?? undefined);\n util.defineLazyInternal(inst, \"optout\", (zod) => zod.innerType?._zod?.optout ?? undefined);\n inst._zod.parse = (payload, ctx) => {\n const inner = inst._zod.innerType;\n return inner._zod.run(payload, ctx);\n };\n});\nexport const $ZodCustom = /*@__PURE__*/ core.$constructor(\"$ZodCustom\", (inst, def) => {\n checks.$ZodCheck.init(inst, def);\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _) => {\n return payload;\n };\n inst._zod.check = (payload) => {\n const input = payload.value;\n const r = def.fn(input);\n if (r instanceof Promise) {\n return r.then((r) => handleRefineResult(r, payload, input, inst));\n }\n handleRefineResult(r, payload, input, inst);\n return;\n };\n});\nfunction handleRefineResult(result, payload, input, inst) {\n if (!result) {\n const _iss = {\n code: \"custom\",\n input,\n inst, // incorporates params.error into issue reporting\n path: [...(inst._zod.def.path ?? [])], // incorporates params.error into issue reporting\n continue: !inst._zod.def.abort,\n // params: inst._zod.def.params,\n };\n if (inst._zod.def.params)\n _iss.params = inst._zod.def.params;\n payload.issues.push(util.issue(_iss));\n }\n}\n", "import * as util from \"./util.js\";\nexport class $ZodCyclicError extends Error {\n constructor() {\n super(`Cannot parse a reference cycle that closes through a transform`);\n this.name = \"ZodCyclicError\";\n }\n}\n/** Keyed off the context object every schema in one parse call already shares. */\nconst STATE = \"~memo\";\nconst NO_ISSUES = [];\n// a value a cycle can close through\nfunction isRef(value) {\n return value !== null && typeof value === \"object\";\n}\n// Receivers prefix paths in place, so the cache and every hand-out need their own copies.\nfunction cloneIssues(issues) {\n return issues.map((iss) => (iss.path ? { ...iss, path: iss.path.slice() } : { ...iss }));\n}\nconst recursive = /*@__PURE__*/ new WeakMap();\n/** What the walk established, in order of certainty: ordered so the strongest answer among children wins. */\nconst NONE = 0;\nconst ASSUMED = 1;\nconst PROVEN = 2;\n/** Whether this schema's subtree contains a cycle, so one parse can re-enter it. */\nfunction isRecursive(inst, stack, resolve) {\n const cached = recursive.get(inst);\n if (cached !== undefined)\n return cached ? PROVEN : NONE;\n // Relative to the walk in progress, so not cached.\n if (stack.has(inst))\n return PROVEN;\n stack.add(inst);\n let result = NONE;\n const check = (child) => {\n if (result !== PROVEN && child?._zod) {\n const answer = isRecursive(child, stack, resolve);\n if (answer > result)\n result = answer;\n }\n };\n // `Reflect.ownKeys` rather than `Object.keys`, so a cycle through a declared symbol key is still seen\n const shape = (sh, spread) => {\n let answer = NONE;\n for (const key of Reflect.ownKeys(sh)) {\n const desc = Object.getOwnPropertyDescriptor(sh, key);\n // an object resolves its shape by spread, so a key it does not enumerate is never parsed; `z.properties` reads every own key and so keeps them all\n if (spread && !desc.enumerable)\n continue;\n // resolving runs user code, and a factory mints a fresh subtree per read, so an edge the walk can't follow counts as a cycle\n const child = desc.get ? ASSUMED : desc.value?._zod ? isRecursive(desc.value, stack, resolve) : NONE;\n if (child > answer)\n answer = child;\n }\n return answer;\n };\n const merge = (answer) => {\n if (answer > result)\n result = answer;\n };\n const def = inst._zod.def;\n const kind = def.type;\n switch (kind) {\n case \"object\": {\n const raw = util.rawShape(def);\n // a def with no raw shape answers `shape` from an accessor of its own, and running that can mint a whole fresh subtree\n merge(raw ? shape(raw, true) : ASSUMED);\n check(def.catchall);\n break;\n }\n case \"array\":\n check(def.element);\n break;\n case \"tuple\":\n for (const el of def.items)\n check(el);\n check(def.rest);\n break;\n case \"record\":\n case \"map\":\n check(def.keyType);\n check(def.valueType);\n break;\n case \"set\":\n check(def.valueType);\n break;\n case \"union\":\n for (const el of def.options)\n check(el);\n break;\n case \"intersection\":\n check(def.left);\n check(def.right);\n break;\n case \"optional\":\n case \"nullable\":\n case \"default\":\n case \"prefault\":\n case \"catch\":\n case \"readonly\":\n case \"nonoptional\":\n case \"promise\":\n case \"success\":\n check(def.innerType);\n break;\n case \"pipe\":\n check(def.in);\n check(def.out);\n break;\n case \"function\":\n check(def.input);\n check(def.output);\n break;\n // `$ZodLazy` caches its inner on the def, so a resolved edge is followed exactly\n case \"lazy\": {\n const inner = def._cachedInner ?? (resolve ? inst._zod.innerType : undefined);\n // walked with resolution off: one hop sees past the deferral, and a lazy that yields only another unresolved lazy is generative, so it stops there\n merge(inner ? isRecursive(inner, stack, false) : ASSUMED);\n break;\n }\n // a leaf by choice: `parts` are regex fragments, not data positions\n case \"template_literal\":\n // leaves\n case \"string\":\n case \"number\":\n case \"int\":\n case \"boolean\":\n case \"bigint\":\n case \"symbol\":\n case \"undefined\":\n case \"null\":\n case \"void\":\n case \"never\":\n case \"any\":\n case \"unknown\":\n case \"date\":\n case \"nan\":\n case \"enum\":\n case \"literal\":\n case \"file\":\n case \"transform\":\n case \"custom\":\n break;\n default: {\n // a new built-in kind becomes a compile error here\n kind;\n // a user-defined kind can still hold children, and only its author knows where, so fall back to scanning the def \u2014 skipping accessors, since reading one can run user code\n for (const key in def) {\n const desc = Object.getOwnPropertyDescriptor(def, key);\n if (!desc || desc.get)\n continue;\n const value = desc.value;\n if (!value || typeof value !== \"object\")\n continue;\n if (value._zod)\n check(value);\n else if (Array.isArray(value))\n for (const el of value)\n check(el);\n }\n }\n }\n stack.delete(inst);\n return settle(inst, result);\n}\n/** An assumed answer must not outlive the resolution that settles it, so only a certain one is cached. */\nfunction settle(inst, answer) {\n if (answer !== ASSUMED)\n recursive.set(inst, answer === PROVEN);\n return answer;\n}\n/**\n * Whether one parse can re-enter this schema, i.e. its subtree contains a cycle.\n * Exported for `z.compile`, which refuses to compile such a schema: cycle\n * breaking is driven from here off state keyed on the parse context, and a\n * generated fast path has no context to key on.\n */\nexport function isRecursiveSchema(inst) {\n // z.compile never parses, so nothing would ever resolve a lazy for it; it runs once and already treats a throw here as recursive\n return isRecursive(inst, new Set(), true) !== NONE;\n}\nfunction bucketFor(state, inst) {\n let bucket = state.buckets.get(inst);\n if (!bucket) {\n bucket = new WeakMap();\n state.buckets.set(inst, bucket);\n }\n return bucket;\n}\n// Set immediately before delegating to core and cleared immediately after, so `alloc` registers only for a visit this module is driving.\nlet handoff;\n// Allocated but unfinished entries. `alloc` and the matching pop both happen in the synchronous part of a parse, so they nest even when children are async, and one stack serves every schema.\nconst open = [];\nconst memo = {\n alloc(_inst, payload, empty) {\n const bucket = handoff;\n if (!bucket)\n return empty;\n handoff = undefined;\n const entry = { value: empty, issues: null };\n bucket.set(payload.value, entry);\n open.push(entry);\n return empty;\n },\n guard(inst) {\n var _a;\n (_a = inst._zod).deferred ?? (_a.deferred = []);\n inst._zod.deferred.push(() => {\n const base = inst._zod.parse;\n const wrapped = (payload, ctx) => {\n // The value is a placeholder a back-edge is still waiting on, so the cycle closes through this transform. Its output can't exist in time to bind.\n if (ctx.direction !== \"backward\" && isBackEdge(ctx, payload.value))\n throw new $ZodCyclicError();\n return base(payload, ctx);\n };\n inst._zod.parse = wrapped;\n if (inst._zod.run === base)\n inst._zod.run = wrapped;\n });\n },\n attach(inst) {\n var _a;\n let isRecursiveInst;\n let rechecked = false;\n // a recursive schema is re-entered many times per parse and its bucket never changes\n let lastCtx;\n let lastBucket;\n // Wraps `parse` in a deferred so it sees the container's final parse. Core's own deferred copies `parse` into `run` when there are no checks, and it ran first, so `run` is patched to match; with checks, `run` reads `parse` dynamically.\n (_a = inst._zod).deferred ?? (_a.deferred = []);\n inst._zod.deferred.push(() => {\n const base = inst._zod.parse;\n const wrapped = (payload, ctx) => {\n if (isRecursiveInst === undefined) {\n const walked = isRecursive(inst, new Set(), false);\n if (walked === NONE) {\n // Nothing here can ever fire, so take it back out.\n inst._zod.parse = base;\n if (inst._zod.run === wrapped)\n inst._zod.run = base;\n return base(payload, ctx);\n }\n // this parse resolves the deferred edges on its own path, so ask once more before latching\n if (walked === PROVEN || rechecked)\n isRecursiveInst = true;\n else\n rechecked = true;\n }\n const input = payload.value;\n if (!isRef(input))\n return base(payload, ctx);\n let state = ctx[STATE];\n if (!state) {\n state = { buckets: new WeakMap(), backEdges: undefined };\n ctx[STATE] = state;\n }\n let bucket;\n if (lastCtx === ctx) {\n bucket = lastBucket;\n }\n else {\n bucket = bucketFor(state, inst);\n lastCtx = ctx;\n lastBucket = bucket;\n }\n const hit = bucket.get(input);\n if (hit) {\n payload.value = hit.value;\n if (hit.issues) {\n if (hit.issues.length)\n payload.issues.push(...cloneIssues(hit.issues));\n }\n else {\n // Still being parsed: its own checks cover it, so skip them here.\n payload.memo = true;\n state.backEdges ?? (state.backEdges = new WeakSet());\n state.backEdges.add(hit.value);\n }\n return payload;\n }\n handoff = bucket;\n const depth = open.length;\n const result = base(payload, ctx);\n handoff = undefined;\n // A container that rejected its input outright allocated nothing.\n const entry = open.length > depth ? open.pop() : undefined;\n // Both paths written out so the sync one allocates no closure. It runs once per node, and capturing here cost more than everything else combined.\n if (result instanceof Promise) {\n return result.then((r) => {\n if (entry)\n entry.issues = r.issues.length ? cloneIssues(r.issues) : NO_ISSUES;\n return r;\n });\n }\n if (entry)\n entry.issues = result.issues.length ? cloneIssues(result.issues) : NO_ISSUES;\n return result;\n };\n inst._zod.parse = wrapped;\n if (inst._zod.run === base)\n inst._zod.run = wrapped;\n });\n },\n};\n/** The memoizer that gives containers cycle support. `zod` installs it by default; `zod/mini` opts in with `config({ memoizer: memoizer() })`. */\nexport function memoizer() {\n return memo;\n}\n/** Whether this value is a node a back-edge resolved to before it finished. */\nexport function isBackEdge(ctx, value) {\n const backEdges = ctx[STATE]?.backEdges;\n return backEdges !== undefined && isRef(value) && backEdges.has(value);\n}\n", "export { default as ar } from \"./ar.js\";\nexport { default as az } from \"./az.js\";\nexport { default as be } from \"./be.js\";\nexport { default as bg } from \"./bg.js\";\nexport { default as bn } from \"./bn.js\";\nexport { default as ca } from \"./ca.js\";\nexport { default as ckb } from \"./ckb.js\";\nexport { default as cs } from \"./cs.js\";\nexport { default as da } from \"./da.js\";\nexport { default as de } from \"./de.js\";\nexport { default as el } from \"./el.js\";\nexport { default as en } from \"./en.js\";\nexport { default as eo } from \"./eo.js\";\nexport { default as es } from \"./es.js\";\nexport { default as fa } from \"./fa.js\";\nexport { default as fi } from \"./fi.js\";\nexport { default as fr } from \"./fr.js\";\nexport { default as frCA } from \"./fr-CA.js\";\nexport { default as gu } from \"./gu.js\";\nexport { default as he } from \"./he.js\";\nexport { default as hi } from \"./hi.js\";\nexport { default as hr } from \"./hr.js\";\nexport { default as hu } from \"./hu.js\";\nexport { default as hy } from \"./hy.js\";\nexport { default as id } from \"./id.js\";\nexport { default as is } from \"./is.js\";\nexport { default as it } from \"./it.js\";\nexport { default as ja } from \"./ja.js\";\nexport { default as ka } from \"./ka.js\";\nexport { default as kh } from \"./kh.js\";\nexport { default as km } from \"./km.js\";\nexport { default as kn } from \"./kn.js\";\nexport { default as ko } from \"./ko.js\";\nexport { default as lt } from \"./lt.js\";\nexport { default as mk } from \"./mk.js\";\nexport { default as ms } from \"./ms.js\";\nexport { default as ne } from \"./ne.js\";\nexport { default as nl } from \"./nl.js\";\nexport { default as nn } from \"./nn.js\";\nexport { default as no } from \"./no.js\";\nexport { default as ota } from \"./ota.js\";\nexport { default as ps } from \"./ps.js\";\nexport { default as pl } from \"./pl.js\";\nexport { default as pt } from \"./pt.js\";\nexport { default as ptBR } from \"./pt-BR.js\";\nexport { default as ro } from \"./ro.js\";\nexport { default as ru } from \"./ru.js\";\nexport { default as sk } from \"./sk.js\";\nexport { default as sl } from \"./sl.js\";\nexport { default as sv } from \"./sv.js\";\nexport { default as ta } from \"./ta.js\";\nexport { default as tg } from \"./tg.js\";\nexport { default as th } from \"./th.js\";\nexport { default as tk } from \"./tk.js\";\nexport { default as tr } from \"./tr.js\";\nexport { default as ua } from \"./ua.js\";\nexport { default as uk } from \"./uk.js\";\nexport { default as ur } from \"./ur.js\";\nexport { default as uz } from \"./uz.js\";\nexport { default as vi } from \"./vi.js\";\nexport { default as zhCN } from \"./zh-CN.js\";\nexport { default as zhTW } from \"./zh-TW.js\";\nexport { default as yo } from \"./yo.js\";\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u062D\u0631\u0641\", verb: \"\u0623\u0646 \u064A\u062D\u0648\u064A\" },\n file: { unit: \"\u0628\u0627\u064A\u062A\", verb: \"\u0623\u0646 \u064A\u062D\u0648\u064A\" },\n array: { unit: \"\u0639\u0646\u0635\u0631\", verb: \"\u0623\u0646 \u064A\u062D\u0648\u064A\" },\n set: { unit: \"\u0639\u0646\u0635\u0631\", verb: \"\u0623\u0646 \u064A\u062D\u0648\u064A\" },\n map: { unit: \"\u0639\u0646\u0635\u0631\", verb: \"\u0623\u0646 \u064A\u062D\u0648\u064A\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u0645\u062F\u062E\u0644\",\n email: \"\u0628\u0631\u064A\u062F \u0625\u0644\u0643\u062A\u0631\u0648\u0646\u064A\",\n url: \"\u0631\u0627\u0628\u0637\",\n emoji: \"\u0625\u064A\u0645\u0648\u062C\u064A\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"\u062A\u0627\u0631\u064A\u062E \u0648\u0648\u0642\u062A \u0628\u0645\u0639\u064A\u0627\u0631 ISO\",\n date: \"\u062A\u0627\u0631\u064A\u062E \u0628\u0645\u0639\u064A\u0627\u0631 ISO\",\n time: \"\u0648\u0642\u062A \u0628\u0645\u0639\u064A\u0627\u0631 ISO\",\n duration: \"\u0645\u062F\u0629 \u0628\u0645\u0639\u064A\u0627\u0631 ISO\",\n ipv4: \"\u0639\u0646\u0648\u0627\u0646 IPv4\",\n ipv6: \"\u0639\u0646\u0648\u0627\u0646 IPv6\",\n mac: \"\u0639\u0646\u0648\u0627\u0646 MAC\",\n cidrv4: \"\u0645\u062F\u0649 \u0639\u0646\u0627\u0648\u064A\u0646 \u0628\u0635\u064A\u063A\u0629 IPv4\",\n cidrv6: \"\u0645\u062F\u0649 \u0639\u0646\u0627\u0648\u064A\u0646 \u0628\u0635\u064A\u063A\u0629 IPv6\",\n base64: \"\u0646\u064E\u0635 \u0628\u062A\u0631\u0645\u064A\u0632 base64-encoded\",\n base64url: \"\u0646\u064E\u0635 \u0628\u062A\u0631\u0645\u064A\u0632 base64url-encoded\",\n json_string: \"\u0646\u064E\u0635 \u0639\u0644\u0649 \u0647\u064A\u0626\u0629 JSON\",\n e164: \"\u0631\u0642\u0645 \u0647\u0627\u062A\u0641 \u0628\u0645\u0639\u064A\u0627\u0631 E.164\",\n credit_card: \"\u0631\u0642\u0645 \u0628\u0637\u0627\u0642\u0629 \u0627\u0644\u0627\u0626\u062A\u0645\u0627\u0646\",\n currency_code: \"\u0631\u0645\u0632 \u0627\u0644\u0639\u0645\u0644\u0629\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"\u0645\u062F\u062E\u0644\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u0645\u062F\u062E\u0644\u0627\u062A \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644\u0629: \u064A\u0641\u062A\u0631\u0636 \u0625\u062F\u062E\u0627\u0644 instanceof ${issue.expected}\u060C \u0648\u0644\u0643\u0646 \u062A\u0645 \u0625\u062F\u062E\u0627\u0644 ${received}`;\n }\n return `\u0645\u062F\u062E\u0644\u0627\u062A \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644\u0629: \u064A\u0641\u062A\u0631\u0636 \u0625\u062F\u062E\u0627\u0644 ${expected}\u060C \u0648\u0644\u0643\u0646 \u062A\u0645 \u0625\u062F\u062E\u0627\u0644 ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u0645\u062F\u062E\u0644\u0627\u062A \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644\u0629: \u064A\u0641\u062A\u0631\u0636 \u0625\u062F\u062E\u0627\u0644 ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u0627\u062E\u062A\u064A\u0627\u0631 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062A\u0648\u0642\u0639 \u0627\u0646\u062A\u0642\u0627\u0621 \u0623\u062D\u062F \u0647\u0630\u0647 \u0627\u0644\u062E\u064A\u0627\u0631\u0627\u062A: ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return ` \u0623\u0643\u0628\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0623\u0646 \u062A\u0643\u0648\u0646 ${issue.origin ?? \"\u0627\u0644\u0642\u064A\u0645\u0629\"} ${adj} ${issue.maximum.toString()} ${sizing.unit ?? \"\u0639\u0646\u0635\u0631\"}`;\n return `\u0623\u0643\u0628\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0623\u0646 \u062A\u0643\u0648\u0646 ${issue.origin ?? \"\u0627\u0644\u0642\u064A\u0645\u0629\"} ${adj} ${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u0623\u0635\u063A\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0644\u0640 ${issue.origin} \u0623\u0646 \u064A\u0643\u0648\u0646 ${adj} ${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `\u0623\u0635\u063A\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0644\u0640 ${issue.origin} \u0623\u0646 \u064A\u0643\u0648\u0646 ${adj} ${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0628\u062F\u0623 \u0628\u0640 \"${issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0646\u062A\u0647\u064A \u0628\u0640 \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u062A\u0636\u0645\u0651\u064E\u0646 \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0637\u0627\u0628\u0642 \u0627\u0644\u0646\u0645\u0637 ${_issue.pattern}`;\n return `${FormatDictionary[_issue.format] ?? issue.format} \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644`;\n }\n case \"not_multiple_of\":\n return `\u0631\u0642\u0645 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0643\u0648\u0646 \u0645\u0646 \u0645\u0636\u0627\u0639\u0641\u0627\u062A ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `\u0645\u0639\u0631\u0641${issue.keys.length > 1 ? \"\u0627\u062A\" : \"\"} \u063A\u0631\u064A\u0628${issue.keys.length > 1 ? \"\u0629\" : \"\"}: ${util.joinValues(issue.keys, \"\u060C \")}`;\n case \"invalid_key\":\n return `\u0645\u0639\u0631\u0641 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644 \u0641\u064A ${issue.origin}`;\n case \"invalid_union\":\n return \"\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644\";\n case \"invalid_element\":\n return `\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644 \u0641\u064A ${issue.origin}`;\n default:\n return \"\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644\";\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"simvol\", verb: \"olmal\u0131d\u0131r\" },\n file: { unit: \"bayt\", verb: \"olmal\u0131d\u0131r\" },\n array: { unit: \"element\", verb: \"olmal\u0131d\u0131r\" },\n set: { unit: \"element\", verb: \"olmal\u0131d\u0131r\" },\n map: { unit: \"element\", verb: \"olmal\u0131d\u0131r\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"input\",\n email: \"email address\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO datetime\",\n date: \"ISO date\",\n time: \"ISO time\",\n duration: \"ISO duration\",\n ipv4: \"IPv4 address\",\n ipv6: \"IPv6 address\",\n mac: \"MAC address\",\n cidrv4: \"IPv4 range\",\n cidrv6: \"IPv6 range\",\n base64: \"base64-encoded string\",\n base64url: \"base64url-encoded string\",\n json_string: \"JSON string\",\n e164: \"E.164 number\",\n credit_card: \"kredit kart\u0131 n\u00F6mr\u0259si\",\n currency_code: \"valyuta kodu\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"input\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Yanl\u0131\u015F d\u0259y\u0259r: g\u00F6zl\u0259nil\u0259n instanceof ${issue.expected}, daxil olan ${received}`;\n }\n return `Yanl\u0131\u015F d\u0259y\u0259r: g\u00F6zl\u0259nil\u0259n ${expected}, daxil olan ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Yanl\u0131\u015F d\u0259y\u0259r: g\u00F6zl\u0259nil\u0259n ${util.stringifyPrimitive(issue.values[0])}`;\n return `Yanl\u0131\u015F se\u00E7im: a\u015Fa\u011F\u0131dak\u0131lardan biri olmal\u0131d\u0131r: ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u00C7ox b\u00F6y\u00FCk: g\u00F6zl\u0259nil\u0259n ${issue.origin ?? \"d\u0259y\u0259r\"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"element\"}`;\n return `\u00C7ox b\u00F6y\u00FCk: g\u00F6zl\u0259nil\u0259n ${issue.origin ?? \"d\u0259y\u0259r\"} ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u00C7ox ki\u00E7ik: g\u00F6zl\u0259nil\u0259n ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n return `\u00C7ox ki\u00E7ik: g\u00F6zl\u0259nil\u0259n ${issue.origin} ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Yanl\u0131\u015F m\u0259tn: \"${_issue.prefix}\" il\u0259 ba\u015Flamal\u0131d\u0131r`;\n if (_issue.format === \"ends_with\")\n return `Yanl\u0131\u015F m\u0259tn: \"${_issue.suffix}\" il\u0259 bitm\u0259lidir`;\n if (_issue.format === \"includes\")\n return `Yanl\u0131\u015F m\u0259tn: \"${_issue.includes}\" daxil olmal\u0131d\u0131r`;\n if (_issue.format === \"regex\")\n return `Yanl\u0131\u015F m\u0259tn: ${_issue.pattern} \u015Fablonuna uy\u011Fun olmal\u0131d\u0131r`;\n return `Yanl\u0131\u015F ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Yanl\u0131\u015F \u0259d\u0259d: ${issue.divisor} il\u0259 b\u00F6l\u00FCn\u0259 bil\u0259n olmal\u0131d\u0131r`;\n case \"unrecognized_keys\":\n return `Tan\u0131nmayan a\u00E7ar${issue.keys.length > 1 ? \"lar\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `${issue.origin} daxilind\u0259 yanl\u0131\u015F a\u00E7ar`;\n case \"invalid_union\":\n return \"Yanl\u0131\u015F d\u0259y\u0259r\";\n case \"invalid_element\":\n return `${issue.origin} daxilind\u0259 yanl\u0131\u015F d\u0259y\u0259r`;\n default:\n return `Yanl\u0131\u015F d\u0259y\u0259r`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nfunction getBelarusianPlural(count, one, few, many) {\n const absCount = Math.abs(count);\n const lastDigit = absCount % 10;\n const lastTwoDigits = absCount % 100;\n if (lastTwoDigits >= 11 && lastTwoDigits <= 19) {\n return many;\n }\n if (lastDigit === 1) {\n return one;\n }\n if (lastDigit >= 2 && lastDigit <= 4) {\n return few;\n }\n return many;\n}\nconst error = () => {\n const Sizable = {\n string: {\n unit: {\n one: \"\u0441\u0456\u043C\u0432\u0430\u043B\",\n few: \"\u0441\u0456\u043C\u0432\u0430\u043B\u044B\",\n many: \"\u0441\u0456\u043C\u0432\u0430\u043B\u0430\u045E\",\n },\n verb: \"\u043C\u0435\u0446\u044C\",\n },\n array: {\n unit: {\n one: \"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\",\n few: \"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B\",\n many: \"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u045E\",\n },\n verb: \"\u043C\u0435\u0446\u044C\",\n },\n set: {\n unit: {\n one: \"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\",\n few: \"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B\",\n many: \"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u045E\",\n },\n verb: \"\u043C\u0435\u0446\u044C\",\n },\n map: {\n unit: {\n one: \"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\",\n few: \"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B\",\n many: \"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u045E\",\n },\n verb: \"\u043C\u0435\u0446\u044C\",\n },\n file: {\n unit: {\n one: \"\u0431\u0430\u0439\u0442\",\n few: \"\u0431\u0430\u0439\u0442\u044B\",\n many: \"\u0431\u0430\u0439\u0442\u0430\u045E\",\n },\n verb: \"\u043C\u0435\u0446\u044C\",\n },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u0443\u0432\u043E\u0434\",\n email: \"email \u0430\u0434\u0440\u0430\u0441\",\n url: \"URL\",\n emoji: \"\u044D\u043C\u043E\u0434\u0437\u0456\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO \u0434\u0430\u0442\u0430 \u0456 \u0447\u0430\u0441\",\n date: \"ISO \u0434\u0430\u0442\u0430\",\n time: \"ISO \u0447\u0430\u0441\",\n duration: \"ISO \u043F\u0440\u0430\u0446\u044F\u0433\u043B\u0430\u0441\u0446\u044C\",\n ipv4: \"IPv4 \u0430\u0434\u0440\u0430\u0441\",\n ipv6: \"IPv6 \u0430\u0434\u0440\u0430\u0441\",\n mac: \"MAC \u0430\u0434\u0440\u0430\u0441\",\n cidrv4: \"IPv4 \u0434\u044B\u044F\u043F\u0430\u0437\u043E\u043D\",\n cidrv6: \"IPv6 \u0434\u044B\u044F\u043F\u0430\u0437\u043E\u043D\",\n base64: \"\u0440\u0430\u0434\u043E\u043A \u0443 \u0444\u0430\u0440\u043C\u0430\u0446\u0435 base64\",\n base64url: \"\u0440\u0430\u0434\u043E\u043A \u0443 \u0444\u0430\u0440\u043C\u0430\u0446\u0435 base64url\",\n json_string: \"JSON \u0440\u0430\u0434\u043E\u043A\",\n e164: \"\u043D\u0443\u043C\u0430\u0440 E.164\",\n credit_card: \"\u043D\u0443\u043C\u0430\u0440 \u043A\u0440\u044D\u0434\u044B\u0442\u043D\u0430\u0439 \u043A\u0430\u0440\u0442\u044B\",\n currency_code: \"\u043A\u043E\u0434 \u0432\u0430\u043B\u044E\u0442\u044B\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"\u0443\u0432\u043E\u0434\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u043B\u0456\u043A\",\n array: \"\u043C\u0430\u0441\u0456\u045E\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u045E\u0441\u044F instanceof ${issue.expected}, \u0430\u0442\u0440\u044B\u043C\u0430\u043D\u0430 ${received}`;\n }\n return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u045E\u0441\u044F ${expected}, \u0430\u0442\u0440\u044B\u043C\u0430\u043D\u0430 ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0432\u0430\u0440\u044B\u044F\u043D\u0442: \u0447\u0430\u043A\u0430\u045E\u0441\u044F \u0430\u0434\u0437\u0456\u043D \u0437 ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n const maxValue = Number(issue.maximum);\n const unit = getBelarusianPlural(maxValue, sizing.unit.one, sizing.unit.few, sizing.unit.many);\n return `\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u0432\u044F\u043B\u0456\u043A\u0456: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${issue.origin ?? \"\u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435\"} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 ${sizing.verb} ${adj}${issue.maximum.toString()} ${unit}`;\n }\n return `\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u0432\u044F\u043B\u0456\u043A\u0456: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${issue.origin ?? \"\u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435\"} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 \u0431\u044B\u0446\u044C ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n const minValue = Number(issue.minimum);\n const unit = getBelarusianPlural(minValue, sizing.unit.one, sizing.unit.few, sizing.unit.many);\n return `\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u043C\u0430\u043B\u044B: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${issue.origin} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 ${sizing.verb} ${adj}${issue.minimum.toString()} ${unit}`;\n }\n return `\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u043C\u0430\u043B\u044B: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${issue.origin} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 \u0431\u044B\u0446\u044C ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u043F\u0430\u0447\u044B\u043D\u0430\u0446\u0446\u0430 \u0437 \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0437\u0430\u043A\u0430\u043D\u0447\u0432\u0430\u0446\u0446\u0430 \u043D\u0430 \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0437\u043C\u044F\u0448\u0447\u0430\u0446\u044C \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0430\u0434\u043F\u0430\u0432\u044F\u0434\u0430\u0446\u044C \u0448\u0430\u0431\u043B\u043E\u043D\u0443 ${_issue.pattern}`;\n return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u043B\u0456\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0431\u044B\u0446\u044C \u043A\u0440\u0430\u0442\u043D\u044B\u043C ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `\u041D\u0435\u0440\u0430\u0441\u043F\u0430\u0437\u043D\u0430\u043D\u044B ${issue.keys.length > 1 ? \"\u043A\u043B\u044E\u0447\u044B\" : \"\u043A\u043B\u044E\u0447\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u043A\u043B\u044E\u0447 \u0443 ${issue.origin}`;\n case \"invalid_union\":\n return \"\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434\";\n case \"invalid_element\":\n return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u0430\u0435 \u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435 \u045E ${issue.origin}`;\n default:\n return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u0441\u0438\u043C\u0432\u043E\u043B\u0430\", verb: \"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430\" },\n file: { unit: \"\u0431\u0430\u0439\u0442\u0430\", verb: \"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430\" },\n array: { unit: \"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430\", verb: \"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430\" },\n set: { unit: \"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430\", verb: \"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430\" },\n map: { unit: \"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430\", verb: \"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u0432\u0445\u043E\u0434\",\n email: \"\u0438\u043C\u0435\u0439\u043B \u0430\u0434\u0440\u0435\u0441\",\n url: \"URL\",\n emoji: \"\u0435\u043C\u043E\u0434\u0436\u0438\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO \u0432\u0440\u0435\u043C\u0435\",\n date: \"ISO \u0434\u0430\u0442\u0430\",\n time: \"ISO \u0432\u0440\u0435\u043C\u0435\",\n duration: \"ISO \u043F\u0440\u043E\u0434\u044A\u043B\u0436\u0438\u0442\u0435\u043B\u043D\u043E\u0441\u0442\",\n ipv4: \"IPv4 \u0430\u0434\u0440\u0435\u0441\",\n ipv6: \"IPv6 \u0430\u0434\u0440\u0435\u0441\",\n mac: \"MAC \u0430\u0434\u0440\u0435\u0441\",\n cidrv4: \"IPv4 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D\",\n cidrv6: \"IPv6 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D\",\n base64: \"base64-\u043A\u043E\u0434\u0438\u0440\u0430\u043D \u043D\u0438\u0437\",\n base64url: \"base64url-\u043A\u043E\u0434\u0438\u0440\u0430\u043D \u043D\u0438\u0437\",\n json_string: \"JSON \u043D\u0438\u0437\",\n e164: \"E.164 \u043D\u043E\u043C\u0435\u0440\",\n credit_card: \"\u043D\u043E\u043C\u0435\u0440 \u043D\u0430 \u043A\u0440\u0435\u0434\u0438\u0442\u043D\u0430 \u043A\u0430\u0440\u0442\u0430\",\n currency_code: \"\u043A\u043E\u0434 \u043D\u0430 \u0432\u0430\u043B\u0443\u0442\u0430\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"\u0432\u0445\u043E\u0434\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u0447\u0438\u0441\u043B\u043E\",\n array: \"\u043C\u0430\u0441\u0438\u0432\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D instanceof ${issue.expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D ${received}`;\n }\n return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D ${expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430 \u043E\u043F\u0446\u0438\u044F: \u043E\u0447\u0430\u043A\u0432\u0430\u043D\u043E \u0435\u0434\u043D\u043E \u043E\u0442 ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u0422\u0432\u044A\u0440\u0434\u0435 \u0433\u043E\u043B\u044F\u043C\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${issue.origin ?? \"\u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\"} \u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430 ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430\"}`;\n return `\u0422\u0432\u044A\u0440\u0434\u0435 \u0433\u043E\u043B\u044F\u043C\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${issue.origin ?? \"\u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\"} \u0434\u0430 \u0431\u044A\u0434\u0435 ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u0422\u0432\u044A\u0440\u0434\u0435 \u043C\u0430\u043B\u043A\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${issue.origin} \u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430 ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `\u0422\u0432\u044A\u0440\u0434\u0435 \u043C\u0430\u043B\u043A\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${issue.origin} \u0434\u0430 \u0431\u044A\u0434\u0435 ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u0438\u0437: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0437\u0430\u043F\u043E\u0447\u0432\u0430 \u0441 \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u0438\u0437: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0437\u0430\u0432\u044A\u0440\u0448\u0432\u0430 \u0441 \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u0438\u0437: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0432\u043A\u043B\u044E\u0447\u0432\u0430 \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u0438\u0437: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0441\u044A\u0432\u043F\u0430\u0434\u0430 \u0441 ${_issue.pattern}`;\n let invalid_adj = \"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D\";\n if (_issue.format === \"emoji\")\n invalid_adj = \"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E\";\n if (_issue.format === \"datetime\")\n invalid_adj = \"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E\";\n if (_issue.format === \"date\")\n invalid_adj = \"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430\";\n if (_issue.format === \"time\")\n invalid_adj = \"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E\";\n if (_issue.format === \"duration\")\n invalid_adj = \"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430\";\n return `${invalid_adj} ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E \u0447\u0438\u0441\u043B\u043E: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u043A\u0440\u0430\u0442\u043D\u043E \u043D\u0430 ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `\u041D\u0435\u0440\u0430\u0437\u043F\u043E\u0437\u043D\u0430\u0442${issue.keys.length > 1 ? \"\u0438\" : \"\"} \u043A\u043B\u044E\u0447${issue.keys.length > 1 ? \"\u043E\u0432\u0435\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043A\u043B\u044E\u0447 \u0432 ${issue.origin}`;\n case \"invalid_union\":\n return \"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434\";\n case \"invalid_element\":\n return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430 \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442 \u0432 ${issue.origin}`;\n default:\n return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u0985\u0995\u09CD\u09B7\u09B0\", verb: \"\u09A5\u09BE\u0995\u09A4\u09C7 \u09B9\u09AC\u09C7\" },\n file: { unit: \"\u09AC\u09BE\u0987\u099F\", verb: \"\u09A5\u09BE\u0995\u09A4\u09C7 \u09B9\u09AC\u09C7\" },\n array: { unit: \"\u0986\u0987\u099F\u09C7\u09AE\", verb: \"\u09A5\u09BE\u0995\u09A4\u09C7 \u09B9\u09AC\u09C7\" },\n set: { unit: \"\u0986\u0987\u099F\u09C7\u09AE\", verb: \"\u09A5\u09BE\u0995\u09A4\u09C7 \u09B9\u09AC\u09C7\" },\n map: { unit: \"\u098F\u09A8\u09CD\u099F\u09CD\u09B0\u09BF\", verb: \"\u09A5\u09BE\u0995\u09A4\u09C7 \u09B9\u09AC\u09C7\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u0987\u09A8\u09AA\u09C1\u099F\",\n email: \"\u0987\u09AE\u09C7\u0987\u09B2 \u09A0\u09BF\u0995\u09BE\u09A8\u09BE\",\n url: \"URL\",\n emoji: \"\u0987\u09AE\u09CB\u099C\u09BF\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO \u09A4\u09BE\u09B0\u09BF\u0996 \u0993 \u09B8\u09AE\u09AF\u09BC\",\n date: \"ISO \u09A4\u09BE\u09B0\u09BF\u0996\",\n time: \"ISO \u09B8\u09AE\u09AF\u09BC\",\n duration: \"ISO \u09B8\u09AE\u09AF\u09BC\u0995\u09BE\u09B2\",\n ipv4: \"IPv4 \u09A0\u09BF\u0995\u09BE\u09A8\u09BE\",\n ipv6: \"IPv6 \u09A0\u09BF\u0995\u09BE\u09A8\u09BE\",\n mac: \"MAC \u09A0\u09BF\u0995\u09BE\u09A8\u09BE\",\n cidrv4: \"IPv4 \u09B0\u09C7\u099E\u09CD\u099C\",\n cidrv6: \"IPv6 \u09B0\u09C7\u099E\u09CD\u099C\",\n base64: \"base64-\u098F\u09A8\u0995\u09CB\u09A1\u09C7\u09A1 \u09B8\u09CD\u099F\u09CD\u09B0\u09BF\u0982\",\n base64url: \"base64url-\u098F\u09A8\u0995\u09CB\u09A1\u09C7\u09A1 \u09B8\u09CD\u099F\u09CD\u09B0\u09BF\u0982\",\n json_string: \"JSON \u09B8\u09CD\u099F\u09CD\u09B0\u09BF\u0982\",\n e164: \"E.164 \u09A8\u09AE\u09CD\u09AC\u09B0\",\n credit_card: \"\u0995\u09CD\u09B0\u09C7\u09A1\u09BF\u099F \u0995\u09BE\u09B0\u09CD\u09A1 \u09A8\u09AE\u09CD\u09AC\u09B0\",\n currency_code: \"\u09AE\u09C1\u09A6\u09CD\u09B0\u09BE \u0995\u09CB\u09A1\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"\u0987\u09A8\u09AA\u09C1\u099F\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n return `\u0985\u09AC\u09C8\u09A7 \u0987\u09A8\u09AA\u09C1\u099F: \u09AA\u09CD\u09B0\u09A4\u09CD\u09AF\u09BE\u09B6\u09BF\u09A4 ${expected}, \u09AA\u09CD\u09B0\u09BE\u09AA\u09CD\u09A4 ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u0985\u09AC\u09C8\u09A7 \u0987\u09A8\u09AA\u09C1\u099F: \u09AA\u09CD\u09B0\u09A4\u09CD\u09AF\u09BE\u09B6\u09BF\u09A4 ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u0985\u09AC\u09C8\u09A7 \u0985\u09AA\u09B6\u09A8: ${util.joinValues(issue.values, \" | \")} \u098F\u09B0 \u09AE\u09A7\u09CD\u09AF\u09C7 \u098F\u0995\u099F\u09BF \u09AA\u09CD\u09B0\u09A4\u09CD\u09AF\u09BE\u09B6\u09BF\u09A4`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u0985\u09A8\u09C7\u0995 \u09AC\u09A1\u09BC: ${issue.origin ?? \"\u09AE\u09BE\u09A8\"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"\u098F\u09B2\u09BF\u09AE\u09C7\u09A8\u09CD\u099F\"} \u09B9\u09A4\u09C7 \u09B9\u09AC\u09C7`;\n return `\u0985\u09A8\u09C7\u0995 \u09AC\u09A1\u09BC: ${issue.origin ?? \"\u09AE\u09BE\u09A8\"} ${adj}${issue.maximum.toString()} \u09B9\u09A4\u09C7 \u09B9\u09AC\u09C7`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u0985\u09A8\u09C7\u0995 \u099B\u09CB\u099F: ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit} \u09B9\u09A4\u09C7 \u09B9\u09AC\u09C7`;\n }\n return `\u0985\u09A8\u09C7\u0995 \u099B\u09CB\u099F: ${issue.origin} ${adj}${issue.minimum.toString()} \u09B9\u09A4\u09C7 \u09B9\u09AC\u09C7`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `\u0985\u09AC\u09C8\u09A7 \u09B8\u09CD\u099F\u09CD\u09B0\u09BF\u0982: \"${_issue.prefix}\" \u09A6\u09BF\u09AF\u09BC\u09C7 \u09B6\u09C1\u09B0\u09C1 \u09B9\u09A4\u09C7 \u09B9\u09AC\u09C7`;\n }\n if (_issue.format === \"ends_with\")\n return `\u0985\u09AC\u09C8\u09A7 \u09B8\u09CD\u099F\u09CD\u09B0\u09BF\u0982: \"${_issue.suffix}\" \u09A6\u09BF\u09AF\u09BC\u09C7 \u09B6\u09C7\u09B7 \u09B9\u09A4\u09C7 \u09B9\u09AC\u09C7`;\n if (_issue.format === \"includes\")\n return `\u0985\u09AC\u09C8\u09A7 \u09B8\u09CD\u099F\u09CD\u09B0\u09BF\u0982: \"${_issue.includes}\" \u0985\u09A8\u09CD\u09A4\u09B0\u09CD\u09AD\u09C1\u0995\u09CD\u09A4 \u09A5\u09BE\u0995\u09A4\u09C7 \u09B9\u09AC\u09C7`;\n if (_issue.format === \"regex\")\n return `\u0985\u09AC\u09C8\u09A7 \u09B8\u09CD\u099F\u09CD\u09B0\u09BF\u0982: ${_issue.pattern} \u09AA\u09CD\u09AF\u09BE\u099F\u09BE\u09B0\u09CD\u09A8 \u09AE\u09BF\u09B2\u09A4\u09C7 \u09B9\u09AC\u09C7`;\n return `\u0985\u09AC\u09C8\u09A7 ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u0985\u09AC\u09C8\u09A7 \u09A8\u09AE\u09CD\u09AC\u09B0: ${issue.divisor} \u098F\u09B0 \u0997\u09C1\u09A3\u09BF\u09A4\u0995 \u09B9\u09A4\u09C7 \u09B9\u09AC\u09C7`;\n case \"unrecognized_keys\":\n return `\u0985\u099A\u09C7\u09A8\u09BE \u0995\u09C0${issue.keys.length > 1 ? \"\u0997\u09C1\u09B2\u09CB\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `${issue.origin} \u098F \u0985\u09AC\u09C8\u09A7 \u0995\u09C0`;\n case \"invalid_union\":\n if (issue.options && Array.isArray(issue.options) && issue.options.length > 0) {\n const opts = issue.options.map((o) => `'${o}'`).join(\" | \");\n return `\u0985\u09AC\u09C8\u09A7 \u09A1\u09BF\u09B8\u0995\u09CD\u09B0\u09BF\u09AE\u09BF\u09A8\u09C7\u099F\u09B0 \u09AE\u09BE\u09A8\u0964 \u09AA\u09CD\u09B0\u09A4\u09CD\u09AF\u09BE\u09B6\u09BF\u09A4 ${opts}`;\n }\n return \"\u0985\u09AC\u09C8\u09A7 \u0987\u09A8\u09AA\u09C1\u099F\";\n case \"invalid_element\":\n return `${issue.origin} \u098F \u0985\u09AC\u09C8\u09A7 \u09AE\u09BE\u09A8`;\n default:\n return \"\u0985\u09AC\u09C8\u09A7 \u0987\u09A8\u09AA\u09C1\u099F\";\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"car\u00E0cters\", verb: \"contenir\" },\n file: { unit: \"bytes\", verb: \"contenir\" },\n array: { unit: \"elements\", verb: \"contenir\" },\n set: { unit: \"elements\", verb: \"contenir\" },\n map: { unit: \"elements\", verb: \"contenir\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"entrada\",\n email: \"adre\u00E7a electr\u00F2nica\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"data i hora ISO\",\n date: \"data ISO\",\n time: \"hora ISO\",\n duration: \"durada ISO\",\n ipv4: \"adre\u00E7a IPv4\",\n ipv6: \"adre\u00E7a IPv6\",\n mac: \"adre\u00E7a MAC\",\n cidrv4: \"rang IPv4\",\n cidrv6: \"rang IPv6\",\n base64: \"cadena codificada en base64\",\n base64url: \"cadena codificada en base64url\",\n json_string: \"cadena JSON\",\n e164: \"n\u00FAmero E.164\",\n credit_card: \"n\u00FAmero de targeta de cr\u00E8dit\",\n currency_code: \"codi de moneda\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"entrada\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Tipus inv\u00E0lid: s'esperava instanceof ${issue.expected}, s'ha rebut ${received}`;\n }\n return `Tipus inv\u00E0lid: s'esperava ${expected}, s'ha rebut ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Valor inv\u00E0lid: s'esperava ${util.stringifyPrimitive(issue.values[0])}`;\n return `Opci\u00F3 inv\u00E0lida: s'esperava una de ${util.joinValues(issue.values, \" o \")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"com a m\u00E0xim\" : \"menys de\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Massa gran: s'esperava que ${issue.origin ?? \"el valor\"} contingu\u00E9s ${adj} ${issue.maximum.toString()} ${sizing.unit ?? \"elements\"}`;\n return `Massa gran: s'esperava que ${issue.origin ?? \"el valor\"} fos ${adj} ${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \"com a m\u00EDnim\" : \"m\u00E9s de\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Massa petit: s'esperava que ${issue.origin} contingu\u00E9s ${adj} ${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Massa petit: s'esperava que ${issue.origin} fos ${adj} ${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `Format inv\u00E0lid: ha de comen\u00E7ar amb \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `Format inv\u00E0lid: ha d'acabar amb \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Format inv\u00E0lid: ha d'incloure \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Format inv\u00E0lid: ha de coincidir amb el patr\u00F3 ${_issue.pattern}`;\n return `Format inv\u00E0lid per a ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `N\u00FAmero inv\u00E0lid: ha de ser m\u00FAltiple de ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Clau${issue.keys.length > 1 ? \"s\" : \"\"} no reconeguda${issue.keys.length > 1 ? \"s\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Clau inv\u00E0lida a ${issue.origin}`;\n case \"invalid_union\":\n return \"Entrada inv\u00E0lida\"; // Could also be \"Tipus d'uni\u00F3 inv\u00E0lid\" but \"Entrada inv\u00E0lida\" is more general\n case \"invalid_element\":\n return `Element inv\u00E0lid a ${issue.origin}`;\n default:\n return `Entrada inv\u00E0lida`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u067E\u06CC\u062A\", verb: \"\u0628\u06CE\u062A\" },\n file: { unit: \"\u0628\u0627\u06CC\u062A\", verb: \"\u0628\u06CE\u062A\" },\n array: { unit: \"\u062F\u0627\u0646\u06D5\", verb: \"\u0628\u06CE\u062A\" },\n set: { unit: \"\u062F\u0627\u0646\u06D5\", verb: \"\u0628\u06CE\u062A\" },\n map: { unit: \"\u062F\u0627\u0646\u06D5\", verb: \"\u0628\u06CE\u062A\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"regex\",\n email: \"\u0626\u06CC\u0645\u06D5\u06CC\u06B5\",\n url: \"\u0628\u06D5\u0633\u062A\u06D5\u0631 (URL)\",\n emoji: \"\u0626\u06CC\u0645\u06C6\u062C\u06CC\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"\u0695\u06CE\u06A9\u06D5\u0648\u062A \u0648 \u06A9\u0627\u062A\",\n date: \"\u0695\u06CE\u06A9\u06D5\u0648\u062A\",\n time: \"\u06A9\u0627\u062A\",\n duration: \"\u0645\u0627\u0648\u06D5\",\n ipv4: \"\u0646\u0627\u0648\u0646\u06CC\u0634\u0627\u0646\u06CC IPv4\",\n ipv6: \"\u0646\u0627\u0648\u0646\u06CC\u0634\u0627\u0646\u06CC IPv6\",\n mac: \"\u0646\u0627\u0648\u0646\u06CC\u0634\u0627\u0646\u06CC MAC\",\n cidrv4: \"\u0645\u06D5\u0648\u062F\u0627\u06CC IPv4\",\n cidrv6: \"\u0645\u06D5\u0648\u062F\u0627\u06CC IPv6\",\n base64: \"\u062F\u06D5\u0642\u06CC base64\",\n base64url: \"\u062F\u06D5\u0642\u06CC base64url\",\n json_string: \"\u062F\u06D5\u0642\u06CC JSON\",\n e164: \"\u0698\u0645\u0627\u0631\u06D5\u06CC E.164\",\n credit_card: \"\u0698\u0645\u0627\u0631\u06D5\u06CC \u06A9\u0627\u0631\u062A\u06CC \u06A9\u0631\u06CE\u062F\u06CC\u062A\",\n currency_code: \"\u06A9\u06C6\u062F\u06CC \u062F\u0631\u0627\u0648\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"\u062A\u06CE\u06A9\u0631\u062F\u06D5\",\n };\n // type names: missing keys = do not translate (use raw value via ?? fallback)\n const TypeDictionary = {\n nan: \"NaN\",\n string: \"\u0646\u0648\u0648\u0633\u06CC\u0646\",\n number: \"\u0698\u0645\u0627\u0631\u06D5\",\n boolean: \"boolean\",\n array: \"array\",\n object: \"object\",\n date: \"\u0695\u06CE\u06A9\u06D5\u0648\u062A\",\n integer: \"\u0698\u0645\u0627\u0631\u06D5\",\n float: \"\u0698\u0645\u0627\u0631\u06D5\",\n null: \"null\",\n undefined: \"undefined\",\n function: \"function\",\n symbol: \"symbol\",\n unknown: \"unknown\",\n promise: \"promise\",\n void: \"void\",\n never: \"never\",\n map: \"map\",\n set: \"set\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n const postfix = [\"\u0627\", \"\u0648\", \"\u06C6\", \"\u0648\u0648\", \"\u06D5\", \"\u06CC\", \"\u06CE\"].some((p) => received.endsWith(p)) ? \"\u06CC\u06D5\" : \"\u06D5\";\n const isEnglish = /^[a-zA-Z]+$/.test(received);\n if (receivedType === \"null\" || receivedType === \"undefined\")\n return `\u062F\u0627\u0648\u0627\u06A9\u0631\u0627\u0648\u06D5`;\n return `\u0686\u0627\u0648\u06D5\u0695\u0648\u0627\u0646\u06A9\u0631\u0627\u0648\u06D5 ${expected} \u0628\u06CE\u062A\u060C \u0628\u06D5\u06B5\u0627\u0645 ${received}${isEnglish ? \"\" : postfix}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u0628\u06D5\u0647\u0627\u06A9\u06D5 \u0646\u0627\u062F\u0631\u0648\u0648\u0633\u062A\u06D5: \u0686\u0627\u0648\u06D5\u0695\u0648\u0627\u0646\u06A9\u0631\u0627\u0648\u06D5 ${util.stringifyPrimitive(issue.values[0])} \u0628\u06CE\u062A`;\n return `\u0647\u06D5\u06B5\u0628\u0698\u0627\u0631\u062F\u06D5\u06CC \u0646\u0627\u062F\u0631\u0648\u0633\u062A: \u0686\u0627\u0648\u06D5\u0695\u0648\u0627\u0646\u06A9\u0631\u0627\u0648\u06D5 \u06CC\u06D5\u06A9\u06CE\u06A9 \u0628\u06CE\u062A \u0644\u06D5 ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u067E\u06CE\u0648\u06CC\u0633\u062A\u06D5 \u0628\u06D5 \u0644\u0627\u06CC\u06D5\u0646\u06CC \u0632\u06C6\u0631\u06D5\u0648\u06D5 ${issue.maximum.toString()} ${sizing.unit} ${sizing.verb}`;\n return `\u067E\u06CE\u0648\u06CC\u0633\u062A\u06D5 \u0628\u06D5 \u0644\u0627\u06CC\u06D5\u0646\u06CC \u0632\u06C6\u0631\u06D5\u0648\u06D5 ${issue.maximum.toString()} \u0628\u06CE\u062A`;\n }\n case \"too_small\": {\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u067E\u06CE\u0648\u06CC\u0633\u062A\u06D5 \u0628\u06D5 \u0644\u0627\u06CC\u06D5\u0646\u06CC \u06A9\u06D5\u0645\u06D5\u0648\u06D5 ${issue.minimum.toString()} ${sizing.unit} ${sizing.verb}`;\n return `\u067E\u06CE\u0648\u06CC\u0633\u062A\u06D5 \u0628\u06D5 \u0644\u0627\u06CC\u06D5\u0646\u06CC \u06A9\u06D5\u0645\u06D5\u0648\u06D5 ${issue.minimum.toString()} \u0628\u06CE\u062A`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `\u062F\u06D5\u0642\u06CC \u0646\u0627\u062F\u0631\u0648\u0633\u062A: \u067E\u06CE\u0648\u06CC\u0633\u062A\u06D5 \u062F\u06D5\u0633\u062A\u067E\u06CE\u0628\u06A9\u0627\u062A \u0628\u06D5 \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `\u062F\u06D5\u0642\u06CC \u0646\u0627\u062F\u0631\u0648\u0633\u062A: \u067E\u06CE\u0648\u06CC\u0633\u062A\u06D5 \u06A9\u06C6\u062A\u0627\u06CC\u06CC\u0628\u06CE\u062A \u0628\u06D5 \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `\u062F\u06D5\u0642\u06CC \u0646\u0627\u062F\u0631\u0648\u0633\u062A: \u067E\u06CE\u0648\u06CC\u0633\u062A\u06D5 \"${_issue.includes}\" \u0644\u06D5\u062E\u06C6\u0628\u06AF\u0631\u06CE\u062A`;\n if (_issue.format === \"regex\")\n return `\u062F\u06D5\u0642\u06CC \u0646\u0627\u062F\u0631\u0648\u0633\u062A: \u067E\u06CE\u0648\u06CC\u0633\u062A\u06D5 \u0644\u06D5\u06AF\u06D5\u06B5 \u067E\u0627\u062A\u06CE\u0631\u0646\u06CC ${_issue.pattern} \u0628\u06AF\u0648\u0646\u062C\u06CE\u062A`;\n return `\u0628\u06D5\u0647\u0627\u06CC ${FormatDictionary[_issue.format] ?? issue.format} \u0646\u0627\u062F\u0631\u0648\u0633\u062A\u06D5`;\n }\n case \"not_multiple_of\":\n return `\u0698\u0645\u0627\u0631\u06D5\u06CC \u0646\u0627\u062F\u0631\u0648\u0633\u062A: \u062F\u06D5\u0628\u06CE\u062A \u0686\u06D5\u0646\u062F \u0647\u06CE\u0646\u062F\u06D5 \u0628\u06CE\u062A \u0628\u06C6 ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `\u06A9\u0644\u06CC\u0644\u06CC \u0646\u06D5\u0646\u0627\u0633\u0631\u0627\u0648: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `\u06A9\u0644\u06CC\u0644\u06CC \u0646\u0627\u062F\u0631\u0648\u0633\u062A \u0644\u06D5 ${issue.origin}`;\n case \"invalid_union\":\n if (issue.options && Array.isArray(issue.options) && issue.options.length > 0) {\n const opts = issue.options.map((o) => `'${o}'`).join(\" | \");\n return `\u0628\u06D5\u0647\u0627\u06CC \u0646\u06D5\u0646\u0627\u0633\u0631\u0627\u0648 \u0647\u06D5\u06CC\u06D5. \u0628\u06D5\u0647\u0627\u06CC \u0686\u0627\u0648\u06D5\u0695\u0648\u0627\u0646\u06A9\u0631\u0627\u0648: ${opts}`;\n }\n return \"\u06CC\u06D5\u06A9\u06AF\u0631\u062A\u0646\u06CC \u0646\u0627\u062F\u0631\u0648\u0633\u062A\";\n case \"invalid_element\":\n return `${issue.origin} \u0628\u06D5\u0647\u0627\u06A9\u06D5 \u0646\u0627\u062F\u0631\u0648\u0633\u062A\u06D5`;\n default:\n return `\u062A\u06CE\u06A9\u0631\u062F\u06D5\u06CC \u0646\u0627\u062F\u0631\u0648\u0633\u062A`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"znak\u016F\", verb: \"m\u00EDt\" },\n file: { unit: \"bajt\u016F\", verb: \"m\u00EDt\" },\n array: { unit: \"prvk\u016F\", verb: \"m\u00EDt\" },\n set: { unit: \"prvk\u016F\", verb: \"m\u00EDt\" },\n map: { unit: \"prvk\u016F\", verb: \"m\u00EDt\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"regul\u00E1rn\u00ED v\u00FDraz\",\n email: \"e-mailov\u00E1 adresa\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"datum a \u010Das ve form\u00E1tu ISO\",\n date: \"datum ve form\u00E1tu ISO\",\n time: \"\u010Das ve form\u00E1tu ISO\",\n duration: \"doba trv\u00E1n\u00ED ISO\",\n ipv4: \"IPv4 adresa\",\n ipv6: \"IPv6 adresa\",\n mac: \"MAC adresa\",\n cidrv4: \"rozsah IPv4\",\n cidrv6: \"rozsah IPv6\",\n base64: \"\u0159et\u011Bzec zak\u00F3dovan\u00FD ve form\u00E1tu base64\",\n base64url: \"\u0159et\u011Bzec zak\u00F3dovan\u00FD ve form\u00E1tu base64url\",\n json_string: \"\u0159et\u011Bzec ve form\u00E1tu JSON\",\n e164: \"\u010D\u00EDslo E.164\",\n credit_card: \"\u010D\u00EDslo kreditn\u00ED karty\",\n currency_code: \"k\u00F3d m\u011Bny\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"vstup\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u010D\u00EDslo\",\n string: \"\u0159et\u011Bzec\",\n function: \"funkce\",\n array: \"pole\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Neplatn\u00FD vstup: o\u010Dek\u00E1v\u00E1no instanceof ${issue.expected}, obdr\u017Eeno ${received}`;\n }\n return `Neplatn\u00FD vstup: o\u010Dek\u00E1v\u00E1no ${expected}, obdr\u017Eeno ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Neplatn\u00FD vstup: o\u010Dek\u00E1v\u00E1no ${util.stringifyPrimitive(issue.values[0])}`;\n return `Neplatn\u00E1 mo\u017Enost: o\u010Dek\u00E1v\u00E1na jedna z hodnot ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Hodnota je p\u0159\u00EDli\u0161 velk\u00E1: ${issue.origin ?? \"hodnota\"} mus\u00ED m\u00EDt ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"prvk\u016F\"}`;\n }\n return `Hodnota je p\u0159\u00EDli\u0161 velk\u00E1: ${issue.origin ?? \"hodnota\"} mus\u00ED b\u00FDt ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Hodnota je p\u0159\u00EDli\u0161 mal\u00E1: ${issue.origin ?? \"hodnota\"} mus\u00ED m\u00EDt ${adj}${issue.minimum.toString()} ${sizing.unit ?? \"prvk\u016F\"}`;\n }\n return `Hodnota je p\u0159\u00EDli\u0161 mal\u00E1: ${issue.origin ?? \"hodnota\"} mus\u00ED b\u00FDt ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Neplatn\u00FD \u0159et\u011Bzec: mus\u00ED za\u010D\u00EDnat na \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Neplatn\u00FD \u0159et\u011Bzec: mus\u00ED kon\u010Dit na \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Neplatn\u00FD \u0159et\u011Bzec: mus\u00ED obsahovat \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Neplatn\u00FD \u0159et\u011Bzec: mus\u00ED odpov\u00EDdat vzoru ${_issue.pattern}`;\n return `Neplatn\u00FD form\u00E1t ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Neplatn\u00E9 \u010D\u00EDslo: mus\u00ED b\u00FDt n\u00E1sobkem ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Nezn\u00E1m\u00E9 kl\u00ED\u010De: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Neplatn\u00FD kl\u00ED\u010D v ${issue.origin}`;\n case \"invalid_union\":\n return \"Neplatn\u00FD vstup\";\n case \"invalid_element\":\n return `Neplatn\u00E1 hodnota v ${issue.origin}`;\n default:\n return `Neplatn\u00FD vstup`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"tegn\", verb: \"havde\" },\n file: { unit: \"bytes\", verb: \"havde\" },\n array: { unit: \"elementer\", verb: \"indeholdt\" },\n set: { unit: \"elementer\", verb: \"indeholdt\" },\n map: { unit: \"elementer\", verb: \"indeholdt\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"input\",\n email: \"e-mailadresse\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO dato- og klokkesl\u00E6t\",\n date: \"ISO-dato\",\n time: \"ISO-klokkesl\u00E6t\",\n duration: \"ISO-varighed\",\n ipv4: \"IPv4-adresse\",\n ipv6: \"IPv6-adresse\",\n mac: \"MAC-adresse\",\n cidrv4: \"IPv4-spektrum\",\n cidrv6: \"IPv6-spektrum\",\n base64: \"base64-kodet streng\",\n base64url: \"base64url-kodet streng\",\n json_string: \"JSON-streng\",\n e164: \"E.164-nummer\",\n credit_card: \"kreditkortnummer\",\n currency_code: \"valutakode\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"input\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n string: \"streng\",\n number: \"tal\",\n boolean: \"boolean\",\n array: \"liste\",\n object: \"objekt\",\n set: \"s\u00E6t\",\n file: \"fil\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Ugyldigt input: forventede instanceof ${issue.expected}, fik ${received}`;\n }\n return `Ugyldigt input: forventede ${expected}, fik ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Ugyldig v\u00E6rdi: forventede ${util.stringifyPrimitive(issue.values[0])}`;\n return `Ugyldigt valg: forventede en af f\u00F8lgende ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n const origin = TypeDictionary[issue.origin] ?? issue.origin;\n if (sizing)\n return `For stor: forventede ${origin ?? \"value\"} ${sizing.verb} ${adj} ${issue.maximum.toString()} ${sizing.unit ?? \"elementer\"}`;\n return `For stor: forventede ${origin ?? \"value\"} havde ${adj} ${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n const origin = TypeDictionary[issue.origin] ?? issue.origin;\n if (sizing) {\n return `For lille: forventede ${origin} ${sizing.verb} ${adj} ${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `For lille: forventede ${origin} havde ${adj} ${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Ugyldig streng: skal starte med \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Ugyldig streng: skal ende med \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Ugyldig streng: skal indeholde \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Ugyldig streng: skal matche m\u00F8nsteret ${_issue.pattern}`;\n return `Ugyldig ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Ugyldigt tal: skal v\u00E6re deleligt med ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `${issue.keys.length > 1 ? \"Ukendte n\u00F8gler\" : \"Ukendt n\u00F8gle\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Ugyldig n\u00F8gle i ${issue.origin}`;\n case \"invalid_union\":\n return \"Ugyldigt input: matcher ingen af de tilladte typer\";\n case \"invalid_element\":\n return `Ugyldig v\u00E6rdi i ${issue.origin}`;\n default:\n return `Ugyldigt input`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"Zeichen\", verb: \"zu haben\" },\n file: { unit: \"Bytes\", verb: \"zu haben\" },\n array: { unit: \"Elemente\", verb: \"zu haben\" },\n set: { unit: \"Elemente\", verb: \"zu haben\" },\n map: { unit: \"Elemente\", verb: \"zu haben\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"Eingabe\",\n email: \"E-Mail-Adresse\",\n url: \"URL\",\n emoji: \"Emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO-Datum und -Uhrzeit\",\n date: \"ISO-Datum\",\n time: \"ISO-Uhrzeit\",\n duration: \"ISO-Dauer\",\n ipv4: \"IPv4-Adresse\",\n ipv6: \"IPv6-Adresse\",\n mac: \"MAC-Adresse\",\n cidrv4: \"IPv4-Bereich\",\n cidrv6: \"IPv6-Bereich\",\n base64: \"Base64-codierter String\",\n base64url: \"Base64-URL-codierter String\",\n json_string: \"JSON-String\",\n e164: \"E.164-Nummer\",\n credit_card: \"Kreditkartennummer\",\n currency_code: \"W\u00E4hrungscode\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"Eingabe\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"Zahl\",\n array: \"Array\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Ung\u00FCltige Eingabe: erwartet instanceof ${issue.expected}, erhalten ${received}`;\n }\n return `Ung\u00FCltige Eingabe: erwartet ${expected}, erhalten ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Ung\u00FCltige Eingabe: erwartet ${util.stringifyPrimitive(issue.values[0])}`;\n return `Ung\u00FCltige Option: erwartet eine von ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Zu gro\u00DF: erwartet, dass ${issue.origin ?? \"Wert\"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"Elemente\"} hat`;\n return `Zu gro\u00DF: erwartet, dass ${issue.origin ?? \"Wert\"} ${adj}${issue.maximum.toString()} ist`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Zu klein: erwartet, dass ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit} hat`;\n }\n return `Zu klein: erwartet, dass ${issue.origin} ${adj}${issue.minimum.toString()} ist`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Ung\u00FCltiger String: muss mit \"${_issue.prefix}\" beginnen`;\n if (_issue.format === \"ends_with\")\n return `Ung\u00FCltiger String: muss mit \"${_issue.suffix}\" enden`;\n if (_issue.format === \"includes\")\n return `Ung\u00FCltiger String: muss \"${_issue.includes}\" enthalten`;\n if (_issue.format === \"regex\")\n return `Ung\u00FCltiger String: muss dem Muster ${_issue.pattern} entsprechen`;\n return `Ung\u00FCltig: ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Ung\u00FCltige Zahl: muss ein Vielfaches von ${issue.divisor} sein`;\n case \"unrecognized_keys\":\n return `${issue.keys.length > 1 ? \"Unbekannte Schl\u00FCssel\" : \"Unbekannter Schl\u00FCssel\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Ung\u00FCltiger Schl\u00FCssel in ${issue.origin}`;\n case \"invalid_union\":\n return \"Ung\u00FCltige Eingabe\";\n case \"invalid_element\":\n return `Ung\u00FCltiger Wert in ${issue.origin}`;\n default:\n return `Ung\u00FCltige Eingabe`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u03C7\u03B1\u03C1\u03B1\u03BA\u03C4\u03AE\u03C1\u03B5\u03C2\", verb: \"\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9\" },\n file: { unit: \"bytes\", verb: \"\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9\" },\n array: { unit: \"\u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03B1\", verb: \"\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9\" },\n set: { unit: \"\u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03B1\", verb: \"\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9\" },\n map: { unit: \"\u03BA\u03B1\u03C4\u03B1\u03C7\u03C9\u03C1\u03AE\u03C3\u03B5\u03B9\u03C2\", verb: \"\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2\",\n email: \"\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 email\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO \u03B7\u03BC\u03B5\u03C1\u03BF\u03BC\u03B7\u03BD\u03AF\u03B1 \u03BA\u03B1\u03B9 \u03CE\u03C1\u03B1\",\n date: \"ISO \u03B7\u03BC\u03B5\u03C1\u03BF\u03BC\u03B7\u03BD\u03AF\u03B1\",\n time: \"ISO \u03CE\u03C1\u03B1\",\n duration: \"ISO \u03B4\u03B9\u03AC\u03C1\u03BA\u03B5\u03B9\u03B1\",\n ipv4: \"\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 IPv4\",\n ipv6: \"\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 IPv6\",\n mac: \"\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 MAC\",\n cidrv4: \"\u03B5\u03CD\u03C1\u03BF\u03C2 IPv4\",\n cidrv6: \"\u03B5\u03CD\u03C1\u03BF\u03C2 IPv6\",\n base64: \"\u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC \u03BA\u03C9\u03B4\u03B9\u03BA\u03BF\u03C0\u03BF\u03B9\u03B7\u03BC\u03AD\u03BD\u03B7 \u03C3\u03B5 base64\",\n base64url: \"\u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC \u03BA\u03C9\u03B4\u03B9\u03BA\u03BF\u03C0\u03BF\u03B9\u03B7\u03BC\u03AD\u03BD\u03B7 \u03C3\u03B5 base64url\",\n json_string: \"\u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC JSON\",\n e164: \"\u03B1\u03C1\u03B9\u03B8\u03BC\u03CC\u03C2 E.164\",\n credit_card: \"\u03B1\u03C1\u03B9\u03B8\u03BC\u03CC\u03C2 \u03C0\u03B9\u03C3\u03C4\u03C9\u03C4\u03B9\u03BA\u03AE\u03C2 \u03BA\u03AC\u03C1\u03C4\u03B1\u03C2\",\n currency_code: \"\u03BA\u03C9\u03B4\u03B9\u03BA\u03CC\u03C2 \u03BD\u03BF\u03BC\u03AF\u03C3\u03BC\u03B1\u03C4\u03BF\u03C2\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"\u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (typeof issue.expected === \"string\" && /^[A-Z]/.test(issue.expected)) {\n return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD instanceof ${issue.expected}, \u03BB\u03AE\u03C6\u03B8\u03B7\u03BA\u03B5 ${received}`;\n }\n return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${expected}, \u03BB\u03AE\u03C6\u03B8\u03B7\u03BA\u03B5 ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03C0\u03B9\u03BB\u03BF\u03B3\u03AE: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD \u03AD\u03BD\u03B1 \u03B1\u03C0\u03CC ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u03A0\u03BF\u03BB\u03CD \u03BC\u03B5\u03B3\u03AC\u03BB\u03BF: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${issue.origin ?? \"\u03C4\u03B9\u03BC\u03AE\"} \u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9 ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"\u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03B1\"}`;\n return `\u03A0\u03BF\u03BB\u03CD \u03BC\u03B5\u03B3\u03AC\u03BB\u03BF: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${issue.origin ?? \"\u03C4\u03B9\u03BC\u03AE\"} \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u03A0\u03BF\u03BB\u03CD \u03BC\u03B9\u03BA\u03C1\u03CC: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${issue.origin} \u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9 ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `\u03A0\u03BF\u03BB\u03CD \u03BC\u03B9\u03BA\u03C1\u03CC: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${issue.origin} \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC: \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03BE\u03B5\u03BA\u03B9\u03BD\u03AC \u03BC\u03B5 \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC: \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03C4\u03B5\u03BB\u03B5\u03B9\u03CE\u03BD\u03B5\u03B9 \u03BC\u03B5 \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC: \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03C0\u03B5\u03C1\u03B9\u03AD\u03C7\u03B5\u03B9 \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC: \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03C4\u03B1\u03B9\u03C1\u03B9\u03AC\u03B6\u03B5\u03B9 \u03BC\u03B5 \u03C4\u03BF \u03BC\u03BF\u03C4\u03AF\u03B2\u03BF ${_issue.pattern}`;\n return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF: ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF\u03C2 \u03B1\u03C1\u03B9\u03B8\u03BC\u03CC\u03C2: \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03C0\u03BF\u03BB\u03BB\u03B1\u03C0\u03BB\u03AC\u03C3\u03B9\u03BF \u03C4\u03BF\u03C5 ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `\u0386\u03B3\u03BD\u03C9\u03C3\u03C4${issue.keys.length > 1 ? \"\u03B1\" : \"\u03BF\"} \u03BA\u03BB\u03B5\u03B9\u03B4${issue.keys.length > 1 ? \"\u03B9\u03AC\" : \"\u03AF\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF \u03BA\u03BB\u03B5\u03B9\u03B4\u03AF \u03C3\u03C4\u03BF ${issue.origin}`;\n case \"invalid_union\":\n return \"\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2\";\n case \"invalid_element\":\n return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03C4\u03B9\u03BC\u03AE \u03C3\u03C4\u03BF ${issue.origin}`;\n default:\n return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"characters\", verb: \"to have\" },\n file: { unit: \"bytes\", verb: \"to have\" },\n array: { unit: \"items\", verb: \"to have\" },\n set: { unit: \"items\", verb: \"to have\" },\n map: { unit: \"entries\", verb: \"to have\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"input\",\n email: \"email address\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO datetime\",\n date: \"ISO date\",\n time: \"ISO time\",\n duration: \"ISO duration\",\n ipv4: \"IPv4 address\",\n ipv6: \"IPv6 address\",\n mac: \"MAC address\",\n cidrv4: \"IPv4 range\",\n cidrv6: \"IPv6 range\",\n base64: \"base64-encoded string\",\n base64url: \"base64url-encoded string\",\n json_string: \"JSON string\",\n e164: \"E.164 number\",\n currency_code: \"currency code\",\n credit_card: \"credit card number\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"input\",\n };\n // type names: missing keys = do not translate (use raw value via ?? fallback)\n const TypeDictionary = {\n // Compatibility: \"nan\" -> \"NaN\" for display\n nan: \"NaN\",\n // All other type names omitted - they fall back to raw values via ?? operator\n };\n function getTypeName(type, input) {\n if (type === \"number\" && typeof input === \"number\" && !Number.isFinite(input)) {\n return String(input);\n }\n return TypeDictionary[type] ?? type;\n }\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = getTypeName(issue.expected);\n const receivedType = util.parsedType(issue.input);\n const received = getTypeName(receivedType, issue.input);\n return `Invalid input: expected ${expected}, received ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Invalid input: expected ${util.stringifyPrimitive(issue.values[0])}`;\n return `Invalid option: expected one of ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.exact ? \"exactly \" : issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Too big: expected ${issue.origin ?? \"value\"} to have ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elements\"}`;\n return `Too big: expected ${issue.origin ?? \"value\"} to be ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.exact ? \"exactly \" : issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Too small: expected ${issue.origin} to have ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Too small: expected ${issue.origin} to be ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `Invalid string: must start with \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `Invalid string: must end with \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Invalid string: must include \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Invalid string: must match pattern ${_issue.pattern}`;\n return `Invalid ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Invalid number: must be a multiple of ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Unrecognized key${issue.keys.length > 1 ? \"s\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Invalid key in ${issue.origin}`;\n case \"invalid_union\":\n if (issue.options && Array.isArray(issue.options) && issue.options.length > 0) {\n const opts = issue.options.map((o) => `'${o}'`).join(\" | \");\n return `Invalid discriminator value. Expected ${opts}`;\n }\n if (issue.inclusive === false) {\n return \"Invalid input: more than one option matched\";\n }\n return \"Invalid input\";\n case \"invalid_element\":\n return `Invalid value in ${issue.origin}`;\n default:\n return `Invalid input`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"karaktrojn\", verb: \"havi\" },\n file: { unit: \"bajtojn\", verb: \"havi\" },\n array: { unit: \"elementojn\", verb: \"havi\" },\n set: { unit: \"elementojn\", verb: \"havi\" },\n map: { unit: \"elementojn\", verb: \"havi\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"enigo\",\n email: \"retadreso\",\n url: \"URL\",\n emoji: \"emo\u011Dio\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO-datotempo\",\n date: \"ISO-dato\",\n time: \"ISO-tempo\",\n duration: \"ISO-da\u016Dro\",\n ipv4: \"IPv4-adreso\",\n ipv6: \"IPv6-adreso\",\n mac: \"MAC-adreso\",\n cidrv4: \"IPv4-rango\",\n cidrv6: \"IPv6-rango\",\n base64: \"64-ume kodita karaktraro\",\n base64url: \"URL-64-ume kodita karaktraro\",\n json_string: \"JSON-karaktraro\",\n e164: \"E.164-nombro\",\n credit_card: \"kreditkarta numero\",\n currency_code: \"valuta kodo\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"enigo\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"nombro\",\n array: \"tabelo\",\n null: \"senvalora\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Nevalida enigo: atendi\u011Dis instanceof ${issue.expected}, ricevi\u011Dis ${received}`;\n }\n return `Nevalida enigo: atendi\u011Dis ${expected}, ricevi\u011Dis ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Nevalida enigo: atendi\u011Dis ${util.stringifyPrimitive(issue.values[0])}`;\n return `Nevalida opcio: atendi\u011Dis unu el ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Tro granda: atendi\u011Dis ke ${issue.origin ?? \"valoro\"} havu ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elementojn\"}`;\n return `Tro granda: atendi\u011Dis ke ${issue.origin ?? \"valoro\"} havu ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Tro malgranda: atendi\u011Dis ke ${issue.origin} havu ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Tro malgranda: atendi\u011Dis ke ${issue.origin} estu ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Nevalida karaktraro: devas komenci\u011Di per \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Nevalida karaktraro: devas fini\u011Di per \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Nevalida karaktraro: devas inkluzivi \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Nevalida karaktraro: devas kongrui kun la modelo ${_issue.pattern}`;\n return `Nevalida ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Nevalida nombro: devas esti oblo de ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Nekonata${issue.keys.length > 1 ? \"j\" : \"\"} \u015Dlosilo${issue.keys.length > 1 ? \"j\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Nevalida \u015Dlosilo en ${issue.origin}`;\n case \"invalid_union\":\n return \"Nevalida enigo\";\n case \"invalid_element\":\n return `Nevalida valoro en ${issue.origin}`;\n default:\n return `Nevalida enigo`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"caracteres\", verb: \"tener\" },\n file: { unit: \"bytes\", verb: \"tener\" },\n array: { unit: \"elementos\", verb: \"tener\" },\n set: { unit: \"elementos\", verb: \"tener\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"entrada\",\n email: \"direcci\u00F3n de correo electr\u00F3nico\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"fecha y hora ISO\",\n date: \"fecha ISO\",\n time: \"hora ISO\",\n duration: \"duraci\u00F3n ISO\",\n ipv4: \"direcci\u00F3n IPv4\",\n ipv6: \"direcci\u00F3n IPv6\",\n mac: \"direcci\u00F3n MAC\",\n cidrv4: \"rango IPv4\",\n cidrv6: \"rango IPv6\",\n base64: \"cadena codificada en base64\",\n base64url: \"URL codificada en base64\",\n json_string: \"cadena JSON\",\n e164: \"n\u00FAmero E.164\",\n credit_card: \"n\u00FAmero de tarjeta de cr\u00E9dito\",\n currency_code: \"c\u00F3digo de moneda\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"entrada\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n string: \"texto\",\n number: \"n\u00FAmero\",\n boolean: \"booleano\",\n array: \"arreglo\",\n object: \"objeto\",\n set: \"conjunto\",\n file: \"archivo\",\n date: \"fecha\",\n bigint: \"n\u00FAmero grande\",\n symbol: \"s\u00EDmbolo\",\n undefined: \"indefinido\",\n null: \"nulo\",\n function: \"funci\u00F3n\",\n map: \"mapa\",\n record: \"registro\",\n tuple: \"tupla\",\n enum: \"enumeraci\u00F3n\",\n union: \"uni\u00F3n\",\n literal: \"literal\",\n promise: \"promesa\",\n void: \"vac\u00EDo\",\n never: \"nunca\",\n unknown: \"desconocido\",\n any: \"cualquiera\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Entrada inv\u00E1lida: se esperaba instanceof ${issue.expected}, recibido ${received}`;\n }\n return `Entrada inv\u00E1lida: se esperaba ${expected}, recibido ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Entrada inv\u00E1lida: se esperaba ${util.stringifyPrimitive(issue.values[0])}`;\n return `Opci\u00F3n inv\u00E1lida: se esperaba una de ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n const origin = TypeDictionary[issue.origin] ?? issue.origin;\n if (sizing)\n return `Demasiado grande: se esperaba que ${origin ?? \"valor\"} tuviera ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elementos\"}`;\n return `Demasiado grande: se esperaba que ${origin ?? \"valor\"} fuera ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n const origin = TypeDictionary[issue.origin] ?? issue.origin;\n if (sizing) {\n return `Demasiado peque\u00F1o: se esperaba que ${origin} tuviera ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Demasiado peque\u00F1o: se esperaba que ${origin} fuera ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Cadena inv\u00E1lida: debe comenzar con \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Cadena inv\u00E1lida: debe terminar en \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Cadena inv\u00E1lida: debe incluir \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Cadena inv\u00E1lida: debe coincidir con el patr\u00F3n ${_issue.pattern}`;\n return `Inv\u00E1lido ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `N\u00FAmero inv\u00E1lido: debe ser m\u00FAltiplo de ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Llave${issue.keys.length > 1 ? \"s\" : \"\"} desconocida${issue.keys.length > 1 ? \"s\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Llave inv\u00E1lida en ${TypeDictionary[issue.origin] ?? issue.origin}`;\n case \"invalid_union\":\n return \"Entrada inv\u00E1lida\";\n case \"invalid_element\":\n return `Valor inv\u00E1lido en ${TypeDictionary[issue.origin] ?? issue.origin}`;\n default:\n return `Entrada inv\u00E1lida`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u06A9\u0627\u0631\u0627\u06A9\u062A\u0631\", verb: \"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F\" },\n file: { unit: \"\u0628\u0627\u06CC\u062A\", verb: \"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F\" },\n array: { unit: \"\u0622\u06CC\u062A\u0645\", verb: \"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F\" },\n set: { unit: \"\u0622\u06CC\u062A\u0645\", verb: \"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F\" },\n map: { unit: \"\u0622\u06CC\u062A\u0645\", verb: \"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u0648\u0631\u0648\u062F\u06CC\",\n email: \"\u0622\u062F\u0631\u0633 \u0627\u06CC\u0645\u06CC\u0644\",\n url: \"URL\",\n emoji: \"\u0627\u06CC\u0645\u0648\u062C\u06CC\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"\u062A\u0627\u0631\u06CC\u062E \u0648 \u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648\",\n date: \"\u062A\u0627\u0631\u06CC\u062E \u0627\u06CC\u0632\u0648\",\n time: \"\u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648\",\n duration: \"\u0645\u062F\u062A \u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648\",\n ipv4: \"IPv4 \u0622\u062F\u0631\u0633\",\n ipv6: \"IPv6 \u0622\u062F\u0631\u0633\",\n mac: \"MAC \u0622\u062F\u0631\u0633\",\n cidrv4: \"IPv4 \u062F\u0627\u0645\u0646\u0647\",\n cidrv6: \"IPv6 \u062F\u0627\u0645\u0646\u0647\",\n base64: \"base64-encoded \u0631\u0634\u062A\u0647\",\n base64url: \"base64url-encoded \u0631\u0634\u062A\u0647\",\n json_string: \"JSON \u0631\u0634\u062A\u0647\",\n e164: \"E.164 \u0639\u062F\u062F\",\n credit_card: \"\u0634\u0645\u0627\u0631\u0647 \u06A9\u0627\u0631\u062A \u0627\u0639\u062A\u0628\u0627\u0631\u06CC\",\n currency_code: \"\u06A9\u062F \u0627\u0631\u0632\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"\u0648\u0631\u0648\u062F\u06CC\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u0639\u062F\u062F\",\n array: \"\u0622\u0631\u0627\u06CC\u0647\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A instanceof ${issue.expected} \u0645\u06CC\u200C\u0628\u0648\u062F\u060C ${received} \u062F\u0631\u06CC\u0627\u0641\u062A \u0634\u062F`;\n }\n return `\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A ${expected} \u0645\u06CC\u200C\u0628\u0648\u062F\u060C ${received} \u062F\u0631\u06CC\u0627\u0641\u062A \u0634\u062F`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1) {\n return `\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A ${util.stringifyPrimitive(issue.values[0])} \u0645\u06CC\u200C\u0628\u0648\u062F`;\n }\n return `\u06AF\u0632\u06CC\u0646\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u06CC\u06A9\u06CC \u0627\u0632 ${util.joinValues(issue.values, \"|\")} \u0645\u06CC\u200C\u0628\u0648\u062F`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u062E\u06CC\u0644\u06CC \u0628\u0632\u0631\u06AF: ${issue.origin ?? \"\u0645\u0642\u062F\u0627\u0631\"} \u0628\u0627\u06CC\u062F ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"\u0639\u0646\u0635\u0631\"} \u0628\u0627\u0634\u062F`;\n }\n return `\u062E\u06CC\u0644\u06CC \u0628\u0632\u0631\u06AF: ${issue.origin ?? \"\u0645\u0642\u062F\u0627\u0631\"} \u0628\u0627\u06CC\u062F ${adj}${issue.maximum.toString()} \u0628\u0627\u0634\u062F`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${issue.origin} \u0628\u0627\u06CC\u062F ${adj}${issue.minimum.toString()} ${sizing.unit} \u0628\u0627\u0634\u062F`;\n }\n return `\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${issue.origin} \u0628\u0627\u06CC\u062F ${adj}${issue.minimum.toString()} \u0628\u0627\u0634\u062F`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 \"${_issue.prefix}\" \u0634\u0631\u0648\u0639 \u0634\u0648\u062F`;\n }\n if (_issue.format === \"ends_with\") {\n return `\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 \"${_issue.suffix}\" \u062A\u0645\u0627\u0645 \u0634\u0648\u062F`;\n }\n if (_issue.format === \"includes\") {\n return `\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0634\u0627\u0645\u0644 \"${_issue.includes}\" \u0628\u0627\u0634\u062F`;\n }\n if (_issue.format === \"regex\") {\n return `\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 \u0627\u0644\u06AF\u0648\u06CC ${_issue.pattern} \u0645\u0637\u0627\u0628\u0642\u062A \u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F`;\n }\n return `${FormatDictionary[_issue.format] ?? issue.format} \u0646\u0627\u0645\u0639\u062A\u0628\u0631`;\n }\n case \"not_multiple_of\":\n return `\u0639\u062F\u062F \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0645\u0636\u0631\u0628 ${issue.divisor} \u0628\u0627\u0634\u062F`;\n case \"unrecognized_keys\":\n return `\u06A9\u0644\u06CC\u062F${issue.keys.length > 1 ? \"\u0647\u0627\u06CC\" : \"\"} \u0646\u0627\u0634\u0646\u0627\u0633: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `\u06A9\u0644\u06CC\u062F \u0646\u0627\u0634\u0646\u0627\u0633 \u062F\u0631 ${issue.origin}`;\n case \"invalid_union\":\n return `\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631`;\n case \"invalid_element\":\n return `\u0645\u0642\u062F\u0627\u0631 \u0646\u0627\u0645\u0639\u062A\u0628\u0631 \u062F\u0631 ${issue.origin}`;\n default:\n return `\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"merkki\u00E4\", subject: \"merkkijonon\" },\n file: { unit: \"tavua\", subject: \"tiedoston\" },\n array: { unit: \"alkiota\", subject: \"listan\" },\n set: { unit: \"alkiota\", subject: \"joukon\" },\n map: { unit: \"alkiota\", subject: \"kuvauksen\" },\n number: { unit: \"\", subject: \"luvun\" },\n bigint: { unit: \"\", subject: \"suuren kokonaisluvun\" },\n int: { unit: \"\", subject: \"kokonaisluvun\" },\n date: { unit: \"\", subject: \"p\u00E4iv\u00E4m\u00E4\u00E4r\u00E4n\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"s\u00E4\u00E4nn\u00F6llinen lauseke\",\n email: \"s\u00E4hk\u00F6postiosoite\",\n url: \"URL-osoite\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO-aikaleima\",\n date: \"ISO-p\u00E4iv\u00E4m\u00E4\u00E4r\u00E4\",\n time: \"ISO-aika\",\n duration: \"ISO-kesto\",\n ipv4: \"IPv4-osoite\",\n ipv6: \"IPv6-osoite\",\n mac: \"MAC-osoite\",\n cidrv4: \"IPv4-alue\",\n cidrv6: \"IPv6-alue\",\n base64: \"base64-koodattu merkkijono\",\n base64url: \"base64url-koodattu merkkijono\",\n json_string: \"JSON-merkkijono\",\n e164: \"E.164-luku\",\n credit_card: \"luottokortin numero\",\n currency_code: \"valuuttakoodi\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"templaattimerkkijono\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Virheellinen tyyppi: odotettiin instanceof ${issue.expected}, oli ${received}`;\n }\n return `Virheellinen tyyppi: odotettiin ${expected}, oli ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Virheellinen sy\u00F6te: t\u00E4ytyy olla ${util.stringifyPrimitive(issue.values[0])}`;\n return `Virheellinen valinta: t\u00E4ytyy olla yksi seuraavista: ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Liian suuri: ${sizing.subject} t\u00E4ytyy olla ${adj}${issue.maximum.toString()} ${sizing.unit}`.trim();\n }\n return `Liian suuri: arvon t\u00E4ytyy olla ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Liian pieni: ${sizing.subject} t\u00E4ytyy olla ${adj}${issue.minimum.toString()} ${sizing.unit}`.trim();\n }\n return `Liian pieni: arvon t\u00E4ytyy olla ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Virheellinen sy\u00F6te: t\u00E4ytyy alkaa \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Virheellinen sy\u00F6te: t\u00E4ytyy loppua \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Virheellinen sy\u00F6te: t\u00E4ytyy sis\u00E4lt\u00E4\u00E4 \"${_issue.includes}\"`;\n if (_issue.format === \"regex\") {\n return `Virheellinen sy\u00F6te: t\u00E4ytyy vastata s\u00E4\u00E4nn\u00F6llist\u00E4 lauseketta ${_issue.pattern}`;\n }\n return `Virheellinen ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Virheellinen luku: t\u00E4ytyy olla luvun ${issue.divisor} monikerta`;\n case \"unrecognized_keys\":\n return `${issue.keys.length > 1 ? \"Tuntemattomat avaimet\" : \"Tuntematon avain\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return \"Virheellinen avain tietueessa\";\n case \"invalid_union\":\n return \"Virheellinen unioni\";\n case \"invalid_element\":\n return \"Virheellinen arvo joukossa\";\n default:\n return `Virheellinen sy\u00F6te`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"caract\u00E8res\", verb: \"avoir\" },\n file: { unit: \"octets\", verb: \"avoir\" },\n array: { unit: \"\u00E9l\u00E9ments\", verb: \"avoir\" },\n set: { unit: \"\u00E9l\u00E9ments\", verb: \"avoir\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"expression r\u00E9guli\u00E8re\",\n email: \"adresse e-mail\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"date et heure ISO\",\n date: \"date ISO\",\n time: \"heure ISO\",\n duration: \"dur\u00E9e ISO\",\n ipv4: \"adresse IPv4\",\n ipv6: \"adresse IPv6\",\n mac: \"adresse MAC\",\n cidrv4: \"plage IPv4\",\n cidrv6: \"plage IPv6\",\n base64: \"cha\u00EEne de caract\u00E8res encod\u00E9e en base64\",\n base64url: \"cha\u00EEne de caract\u00E8res encod\u00E9e en base64url\",\n json_string: \"cha\u00EEne de caract\u00E8res JSON\",\n e164: \"num\u00E9ro au format E.164\",\n credit_card: \"num\u00E9ro de carte de cr\u00E9dit\",\n currency_code: \"code de devise\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"entr\u00E9e\",\n };\n const TypeDictionary = {\n string: \"cha\u00EEne de caract\u00E8res\",\n number: \"nombre\",\n int: \"entier\",\n boolean: \"bool\u00E9en\",\n bigint: \"grand entier\",\n symbol: \"symbole\",\n undefined: \"ind\u00E9fini\",\n null: \"null\",\n never: \"jamais\",\n void: \"vide\",\n date: \"date\",\n array: \"tableau\",\n object: \"objet\",\n tuple: \"tuple\",\n record: \"record\",\n map: \"map\",\n set: \"ensemble\",\n file: \"fichier\",\n nonoptional: \"non optionnel\",\n nan: \"NaN\",\n function: \"fonction\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Entr\u00E9e invalide : instance de ${issue.expected} attendu, ${received} re\u00E7u`;\n }\n return `Entr\u00E9e invalide : ${expected} attendu, ${received} re\u00E7u`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Entr\u00E9e invalide : ${util.stringifyPrimitive(issue.values[0])} attendu`;\n return `Option invalide : une valeur parmi ${util.joinValues(issue.values, \"|\")} attendue`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Trop grand : ${TypeDictionary[issue.origin] ?? \"valeur\"} doit ${sizing.verb} ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"\u00E9l\u00E9ment(s)\"}`;\n return `Trop grand : ${TypeDictionary[issue.origin] ?? \"valeur\"} doit \u00EAtre ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Trop petit : ${TypeDictionary[issue.origin] ?? \"valeur\"} doit ${sizing.verb} ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n return `Trop petit : ${TypeDictionary[issue.origin] ?? \"valeur\"} doit \u00EAtre ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Cha\u00EEne de caract\u00E8res invalide : doit commencer par \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Cha\u00EEne de caract\u00E8res invalide : doit se terminer par \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Cha\u00EEne de caract\u00E8res invalide : doit inclure \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Cha\u00EEne de caract\u00E8res invalide : doit correspondre au motif ${_issue.pattern}`;\n return `${FormatDictionary[_issue.format] ?? issue.format} invalide`;\n }\n case \"not_multiple_of\":\n return `Nombre invalide : doit \u00EAtre un multiple de ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Cl\u00E9${issue.keys.length > 1 ? \"s\" : \"\"} non reconnue${issue.keys.length > 1 ? \"s\" : \"\"} : ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Cl\u00E9 invalide dans ${issue.origin}`;\n case \"invalid_union\":\n return \"Entr\u00E9e invalide\";\n case \"invalid_element\":\n return `Valeur invalide dans ${issue.origin}`;\n default:\n return `Entr\u00E9e invalide`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"caract\u00E8res\", verb: \"avoir\" },\n file: { unit: \"octets\", verb: \"avoir\" },\n array: { unit: \"\u00E9l\u00E9ments\", verb: \"avoir\" },\n set: { unit: \"\u00E9l\u00E9ments\", verb: \"avoir\" },\n map: { unit: \"\u00E9l\u00E9ments\", verb: \"avoir\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"entr\u00E9e\",\n email: \"adresse courriel\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"date-heure ISO\",\n date: \"date ISO\",\n time: \"heure ISO\",\n duration: \"dur\u00E9e ISO\",\n ipv4: \"adresse IPv4\",\n ipv6: \"adresse IPv6\",\n mac: \"adresse MAC\",\n cidrv4: \"plage IPv4\",\n cidrv6: \"plage IPv6\",\n base64: \"cha\u00EEne encod\u00E9e en base64\",\n base64url: \"cha\u00EEne encod\u00E9e en base64url\",\n json_string: \"cha\u00EEne JSON\",\n e164: \"num\u00E9ro E.164\",\n credit_card: \"num\u00E9ro de carte de cr\u00E9dit\",\n currency_code: \"code de devise\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"entr\u00E9e\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Entr\u00E9e invalide : attendu instanceof ${issue.expected}, re\u00E7u ${received}`;\n }\n return `Entr\u00E9e invalide : attendu ${expected}, re\u00E7u ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Entr\u00E9e invalide : attendu ${util.stringifyPrimitive(issue.values[0])}`;\n return `Option invalide : attendu l'une des valeurs suivantes ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"\u2264\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Trop grand : attendu que ${issue.origin ?? \"la valeur\"} ait ${adj}${issue.maximum.toString()} ${sizing.unit}`;\n return `Trop grand : attendu que ${issue.origin ?? \"la valeur\"} soit ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \"\u2265\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Trop petit : attendu que ${issue.origin} ait ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Trop petit : attendu que ${issue.origin} soit ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `Cha\u00EEne invalide : doit commencer par \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `Cha\u00EEne invalide : doit se terminer par \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Cha\u00EEne invalide : doit inclure \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Cha\u00EEne invalide : doit correspondre au motif ${_issue.pattern}`;\n return `${FormatDictionary[_issue.format] ?? issue.format} invalide`;\n }\n case \"not_multiple_of\":\n return `Nombre invalide : doit \u00EAtre un multiple de ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Cl\u00E9${issue.keys.length > 1 ? \"s\" : \"\"} non reconnue${issue.keys.length > 1 ? \"s\" : \"\"} : ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Cl\u00E9 invalide dans ${issue.origin}`;\n case \"invalid_union\":\n return \"Entr\u00E9e invalide\";\n case \"invalid_element\":\n return `Valeur invalide dans ${issue.origin}`;\n default:\n return `Entr\u00E9e invalide`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u0A85\u0A95\u0ACD\u0AB7\u0AB0\", verb: \"\u0AB9\u0ACB\u0AB5\u0ABE \u0A9C\u0ACB\u0A88\u0A8F\" },\n file: { unit: \"\u0AAC\u0ABE\u0AAF\u0A9F\", verb: \"\u0AB9\u0ACB\u0AB5\u0ABE \u0A9C\u0ACB\u0A88\u0A8F\" },\n array: { unit: \"\u0A86\u0A87\u0A9F\u0AAE\", verb: \"\u0AB9\u0ACB\u0AB5\u0ABE \u0A9C\u0ACB\u0A88\u0A8F\" },\n set: { unit: \"\u0A86\u0A87\u0A9F\u0AAE\", verb: \"\u0AB9\u0ACB\u0AB5\u0ABE \u0A9C\u0ACB\u0A88\u0A8F\" },\n map: { unit: \"\u0A8F\u0AA8\u0ACD\u0A9F\u0ACD\u0AB0\u0AC0\", verb: \"\u0AB9\u0ACB\u0AB5\u0ABE \u0A9C\u0ACB\u0A88\u0A8F\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u0A87\u0AA8\u0AAA\u0AC1\u0A9F\",\n email: \"\u0A88\u0AAE\u0AC7\u0A87\u0AB2 \u0A8F\u0AA1\u0ACD\u0AB0\u0AC7\u0AB8\",\n url: \"URL\",\n emoji: \"\u0A87\u0AAE\u0ACB\u0A9C\u0AC0\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO \u0AA4\u0ABE\u0AB0\u0AC0\u0A96 \u0A85\u0AA8\u0AC7 \u0AB8\u0AAE\u0AAF\",\n date: \"ISO \u0AA4\u0ABE\u0AB0\u0AC0\u0A96\",\n time: \"ISO \u0AB8\u0AAE\u0AAF\",\n duration: \"ISO \u0A85\u0AB5\u0AA7\u0ABF\",\n ipv4: \"IPv4 \u0A8F\u0AA1\u0ACD\u0AB0\u0AC7\u0AB8\",\n ipv6: \"IPv6 \u0A8F\u0AA1\u0ACD\u0AB0\u0AC7\u0AB8\",\n mac: \"MAC \u0A8F\u0AA1\u0ACD\u0AB0\u0AC7\u0AB8\",\n cidrv4: \"IPv4 \u0AB6\u0ACD\u0AB0\u0AC7\u0AA3\u0AC0\",\n cidrv6: \"IPv6 \u0AB6\u0ACD\u0AB0\u0AC7\u0AA3\u0AC0\",\n base64: \"base64-\u0A8F\u0AA8\u0ACD\u0A95\u0ACB\u0AA1\u0AC7\u0AA1 \u0AB8\u0ACD\u0A9F\u0ACD\u0AB0\u0ABF\u0A82\u0A97\",\n base64url: \"base64url-\u0A8F\u0AA8\u0ACD\u0A95\u0ACB\u0AA1\u0AC7\u0AA1 \u0AB8\u0ACD\u0A9F\u0ACD\u0AB0\u0ABF\u0A82\u0A97\",\n json_string: \"JSON \u0AB8\u0ACD\u0A9F\u0ACD\u0AB0\u0ABF\u0A82\u0A97\",\n e164: \"E.164 \u0AA8\u0A82\u0AAC\u0AB0\",\n credit_card: \"\u0A95\u0ACD\u0AB0\u0AC7\u0AA1\u0ABF\u0A9F \u0A95\u0ABE\u0AB0\u0ACD\u0AA1 \u0AA8\u0A82\u0AAC\u0AB0\",\n currency_code: \"\u0A9A\u0AB2\u0AA3 \u0A95\u0ACB\u0AA1\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"\u0A87\u0AA8\u0AAA\u0AC1\u0A9F\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n return `\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0A87\u0AA8\u0AAA\u0AC1\u0A9F: \u0A85\u0AAA\u0AC7\u0A95\u0ACD\u0AB7\u0ABF\u0AA4 ${expected}, \u0AAA\u0ACD\u0AB0\u0ABE\u0AAA\u0ACD\u0AA4 ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0A87\u0AA8\u0AAA\u0AC1\u0A9F: \u0A85\u0AAA\u0AC7\u0A95\u0ACD\u0AB7\u0ABF\u0AA4 ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0AB5\u0ABF\u0A95\u0AB2\u0ACD\u0AAA: ${util.joinValues(issue.values, \" | \")} \u0AAE\u0ABE\u0AA7\u0ACD\u0AAF\u0AAE\u0AA5\u0AC0 \u0A8F\u0A95 \u0A85\u0AAA\u0AC7\u0A95\u0ACD\u0AB7\u0ABF\u0AA4`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u0A96\u0AC2\u0AAC \u0AAE\u0ACB\u0A9F\u0AC1\u0A82: ${issue.origin ?? \"\u0AAE\u0AC2\u0AB2\u0ACD\u0AAF\"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"\u0A8F\u0AB2\u0ABF\u0AAE\u0AC7\u0AA8\u0ACD\u0A9F\"} \u0AB9\u0ACB\u0AB5\u0ABE \u0A9C\u0ACB\u0A88\u0A8F`;\n return `\u0A96\u0AC2\u0AAC \u0AAE\u0ACB\u0A9F\u0AC1\u0A82: ${issue.origin ?? \"\u0AAE\u0AC2\u0AB2\u0ACD\u0AAF\"} ${adj}${issue.maximum.toString()} \u0AB9\u0ACB\u0AB5\u0AC1\u0A82 \u0A9C\u0ACB\u0A88\u0A8F`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u0A96\u0AC2\u0AAC \u0AA8\u0ABE\u0AA8\u0AC1\u0A82: ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit} \u0AB9\u0ACB\u0AB5\u0ABE \u0A9C\u0ACB\u0A88\u0A8F`;\n }\n return `\u0A96\u0AC2\u0AAC \u0AA8\u0ABE\u0AA8\u0AC1\u0A82: ${issue.origin} ${adj}${issue.minimum.toString()} \u0AB9\u0ACB\u0AB5\u0AC1\u0A82 \u0A9C\u0ACB\u0A88\u0A8F`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0AB8\u0ACD\u0A9F\u0ACD\u0AB0\u0ABF\u0A82\u0A97: \"${_issue.prefix}\" \u0AA5\u0AC0 \u0AB6\u0AB0\u0AC2 \u0AA5\u0AB5\u0AC1\u0A82 \u0A9C\u0ACB\u0A88\u0A8F`;\n }\n if (_issue.format === \"ends_with\")\n return `\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0AB8\u0ACD\u0A9F\u0ACD\u0AB0\u0ABF\u0A82\u0A97: \"${_issue.suffix}\" \u0AAA\u0AB0 \u0AB8\u0AAE\u0ABE\u0AAA\u0ACD\u0AA4 \u0AA5\u0AB5\u0AC1\u0A82 \u0A9C\u0ACB\u0A88\u0A8F`;\n if (_issue.format === \"includes\")\n return `\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0AB8\u0ACD\u0A9F\u0ACD\u0AB0\u0ABF\u0A82\u0A97: \"${_issue.includes}\" \u0AB6\u0ABE\u0AAE\u0AC7\u0AB2 \u0AB9\u0ACB\u0AB5\u0AC1\u0A82 \u0A9C\u0ACB\u0A88\u0A8F`;\n if (_issue.format === \"regex\")\n return `\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0AB8\u0ACD\u0A9F\u0ACD\u0AB0\u0ABF\u0A82\u0A97: \u0AAA\u0AC7\u0A9F\u0AB0\u0ACD\u0AA8 ${_issue.pattern} \u0AB8\u0ABE\u0AA5\u0AC7 \u0AAE\u0AC7\u0AB3 \u0A96\u0ABE\u0AB5\u0AC1\u0A82 \u0A9C\u0ACB\u0A88\u0A8F`;\n return `\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0AA8\u0A82\u0AAC\u0AB0: ${issue.divisor} \u0AA8\u0ACB \u0A97\u0AC1\u0AA3\u0ABE\u0A82\u0A95 \u0AB9\u0ACB\u0AB5\u0ACB \u0A9C\u0ACB\u0A88\u0A8F`;\n case \"unrecognized_keys\":\n return `\u0A93\u0AB3\u0A96\u0AC0 \u0AB6\u0A95\u0ABE\u0AA4\u0ABE \u0AA8\u0AB9\u0AC0\u0A82 \u0AA4\u0AC7 \u0A95\u0AC0${issue.keys.length > 1 ? \"\u0A93\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `${issue.origin} \u0AAE\u0ABE\u0A82 \u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0A95\u0AC0`;\n case \"invalid_union\":\n if (issue.options && Array.isArray(issue.options) && issue.options.length > 0) {\n const opts = issue.options.map((o) => `'${o}'`).join(\" | \");\n return `\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0AA1\u0ABF\u0AB8\u0ACD\u0A95\u0ACD\u0AB0\u0ABF\u0AAE\u0ABF\u0AA8\u0AC7\u0A9F\u0AB0 \u0AAE\u0AC2\u0AB2\u0ACD\u0AAF. \u0A85\u0AAA\u0AC7\u0A95\u0ACD\u0AB7\u0ABF\u0AA4 ${opts}`;\n }\n return \"\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0A87\u0AA8\u0AAA\u0AC1\u0A9F\";\n case \"invalid_element\":\n return `${issue.origin} \u0AAE\u0ABE\u0A82 \u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0AAE\u0AC2\u0AB2\u0ACD\u0AAF`;\n default:\n return \"\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0A87\u0AA8\u0AAA\u0AC1\u0A9F\";\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n // Hebrew labels + grammatical gender\n const TypeNames = {\n string: { label: \"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA\", gender: \"f\" },\n number: { label: \"\u05DE\u05E1\u05E4\u05E8\", gender: \"m\" },\n boolean: { label: \"\u05E2\u05E8\u05DA \u05D1\u05D5\u05DC\u05D9\u05D0\u05E0\u05D9\", gender: \"m\" },\n bigint: { label: \"BigInt\", gender: \"m\" },\n date: { label: \"\u05EA\u05D0\u05E8\u05D9\u05DA\", gender: \"m\" },\n array: { label: \"\u05DE\u05E2\u05E8\u05DA\", gender: \"m\" },\n object: { label: \"\u05D0\u05D5\u05D1\u05D9\u05D9\u05E7\u05D8\", gender: \"m\" },\n null: { label: \"\u05E2\u05E8\u05DA \u05E8\u05D9\u05E7 (null)\", gender: \"m\" },\n undefined: { label: \"\u05E2\u05E8\u05DA \u05DC\u05D0 \u05DE\u05D5\u05D2\u05D3\u05E8 (undefined)\", gender: \"m\" },\n symbol: { label: \"\u05E1\u05D9\u05DE\u05D1\u05D5\u05DC (Symbol)\", gender: \"m\" },\n function: { label: \"\u05E4\u05D5\u05E0\u05E7\u05E6\u05D9\u05D4\", gender: \"f\" },\n map: { label: \"\u05DE\u05E4\u05D4 (Map)\", gender: \"f\" },\n set: { label: \"\u05E7\u05D1\u05D5\u05E6\u05D4 (Set)\", gender: \"f\" },\n file: { label: \"\u05E7\u05D5\u05D1\u05E5\", gender: \"m\" },\n promise: { label: \"Promise\", gender: \"m\" },\n NaN: { label: \"NaN\", gender: \"m\" },\n unknown: { label: \"\u05E2\u05E8\u05DA \u05DC\u05D0 \u05D9\u05D3\u05D5\u05E2\", gender: \"m\" },\n value: { label: \"\u05E2\u05E8\u05DA\", gender: \"m\" },\n };\n // Sizing units for size-related messages + localized origin labels\n const Sizable = {\n string: { unit: \"\u05EA\u05D5\u05D5\u05D9\u05DD\", shortLabel: \"\u05E7\u05E6\u05E8\", longLabel: \"\u05D0\u05E8\u05D5\u05DA\" },\n file: { unit: \"\u05D1\u05D9\u05D9\u05D8\u05D9\u05DD\", shortLabel: \"\u05E7\u05D8\u05DF\", longLabel: \"\u05D2\u05D3\u05D5\u05DC\" },\n array: { unit: \"\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD\", shortLabel: \"\u05E7\u05D8\u05DF\", longLabel: \"\u05D2\u05D3\u05D5\u05DC\" },\n set: { unit: \"\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD\", shortLabel: \"\u05E7\u05D8\u05DF\", longLabel: \"\u05D2\u05D3\u05D5\u05DC\" },\n number: { unit: \"\", shortLabel: \"\u05E7\u05D8\u05DF\", longLabel: \"\u05D2\u05D3\u05D5\u05DC\" }, // no unit\n };\n // Helpers \u2014 labels, articles, and verbs\n const typeEntry = (t) => (t ? TypeNames[t] : undefined);\n const typeLabel = (t) => {\n const e = typeEntry(t);\n if (e)\n return e.label;\n // fallback: show raw string if unknown\n return t ?? TypeNames.unknown.label;\n };\n const withDefinite = (t) => `\u05D4${typeLabel(t)}`;\n const verbFor = (t) => {\n const e = typeEntry(t);\n const gender = e?.gender ?? \"m\";\n return gender === \"f\" ? \"\u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05D9\u05D5\u05EA\" : \"\u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA\";\n };\n const getSizing = (origin) => {\n if (!origin)\n return null;\n return Sizable[origin] ?? null;\n };\n const FormatDictionary = {\n regex: { label: \"\u05E7\u05DC\u05D8\", gender: \"m\" },\n email: { label: \"\u05DB\u05EA\u05D5\u05D1\u05EA \u05D0\u05D9\u05DE\u05D9\u05D9\u05DC\", gender: \"f\" },\n url: { label: \"\u05DB\u05EA\u05D5\u05D1\u05EA \u05E8\u05E9\u05EA\", gender: \"f\" },\n emoji: { label: \"\u05D0\u05D9\u05DE\u05D5\u05D2'\u05D9\", gender: \"m\" },\n uuid: { label: \"UUID\", gender: \"m\" },\n uuidv4: { label: \"UUIDv4\", gender: \"m\" },\n uuidv6: { label: \"UUIDv6\", gender: \"m\" },\n nanoid: { label: \"nanoid\", gender: \"m\" },\n guid: { label: \"GUID\", gender: \"m\" },\n cuid: { label: \"cuid\", gender: \"m\" },\n cuid2: { label: \"cuid2\", gender: \"m\" },\n ulid: { label: \"ULID\", gender: \"m\" },\n xid: { label: \"XID\", gender: \"m\" },\n ksuid: { label: \"KSUID\", gender: \"m\" },\n datetime: { label: \"\u05EA\u05D0\u05E8\u05D9\u05DA \u05D5\u05D6\u05DE\u05DF ISO\", gender: \"m\" },\n date: { label: \"\u05EA\u05D0\u05E8\u05D9\u05DA ISO\", gender: \"m\" },\n time: { label: \"\u05D6\u05DE\u05DF ISO\", gender: \"m\" },\n duration: { label: \"\u05DE\u05E9\u05DA \u05D6\u05DE\u05DF ISO\", gender: \"m\" },\n ipv4: { label: \"\u05DB\u05EA\u05D5\u05D1\u05EA IPv4\", gender: \"f\" },\n ipv6: { label: \"\u05DB\u05EA\u05D5\u05D1\u05EA IPv6\", gender: \"f\" },\n mac: { label: \"\u05DB\u05EA\u05D5\u05D1\u05EA MAC\", gender: \"f\" },\n cidrv4: { label: \"\u05D8\u05D5\u05D5\u05D7 IPv4\", gender: \"m\" },\n cidrv6: { label: \"\u05D8\u05D5\u05D5\u05D7 IPv6\", gender: \"m\" },\n base64: { label: \"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D1\u05D1\u05E1\u05D9\u05E1 64\", gender: \"f\" },\n base64url: { label: \"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D1\u05D1\u05E1\u05D9\u05E1 64 \u05DC\u05DB\u05EA\u05D5\u05D1\u05D5\u05EA \u05E8\u05E9\u05EA\", gender: \"f\" },\n json_string: { label: \"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA JSON\", gender: \"f\" },\n e164: { label: \"\u05DE\u05E1\u05E4\u05E8 E.164\", gender: \"m\" },\n credit_card: { label: \"\u05DE\u05E1\u05E4\u05E8 \u05DB\u05E8\u05D8\u05D9\u05E1 \u05D0\u05E9\u05E8\u05D0\u05D9\", gender: \"m\" },\n currency_code: { label: \"\u05E7\u05D5\u05D3 \u05DE\u05D8\u05D1\u05E2\", gender: \"m\" },\n iban: { label: \"IBAN\", gender: \"m\" },\n jwt: { label: \"JWT\", gender: \"m\" },\n template_literal: { label: \"\u05E7\u05DC\u05D8\", gender: \"m\" },\n ends_with: { label: \"\u05E7\u05DC\u05D8\", gender: \"m\" },\n includes: { label: \"\u05E7\u05DC\u05D8\", gender: \"m\" },\n lowercase: { label: \"\u05E7\u05DC\u05D8\", gender: \"m\" },\n starts_with: { label: \"\u05E7\u05DC\u05D8\", gender: \"m\" },\n uppercase: { label: \"\u05E7\u05DC\u05D8\", gender: \"m\" },\n };\n const TypeDictionary = {\n nan: \"NaN\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n // Expected type: show without definite article for clearer Hebrew\n const expectedKey = issue.expected;\n const expected = TypeDictionary[expectedKey ?? \"\"] ?? typeLabel(expectedKey);\n // Received: show localized label if known, otherwise constructor/raw\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? TypeNames[receivedType]?.label ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA instanceof ${issue.expected}, \u05D4\u05EA\u05E7\u05D1\u05DC ${received}`;\n }\n return `\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${expected}, \u05D4\u05EA\u05E7\u05D1\u05DC ${received}`;\n }\n case \"invalid_value\": {\n if (issue.values.length === 1) {\n return `\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D4\u05E2\u05E8\u05DA \u05D7\u05D9\u05D9\u05D1 \u05DC\u05D4\u05D9\u05D5\u05EA ${util.stringifyPrimitive(issue.values[0])}`;\n }\n // Join values with proper Hebrew formatting\n const stringified = issue.values.map((v) => util.stringifyPrimitive(v));\n if (issue.values.length === 2) {\n return `\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D4\u05D0\u05E4\u05E9\u05E8\u05D5\u05D9\u05D5\u05EA \u05D4\u05DE\u05EA\u05D0\u05D9\u05DE\u05D5\u05EA \u05D4\u05DF ${stringified[0]} \u05D0\u05D5 ${stringified[1]}`;\n }\n // For 3+ values: \"a\", \"b\" \u05D0\u05D5 \"c\"\n const lastValue = stringified[stringified.length - 1];\n const restValues = stringified.slice(0, -1).join(\", \");\n return `\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D4\u05D0\u05E4\u05E9\u05E8\u05D5\u05D9\u05D5\u05EA \u05D4\u05DE\u05EA\u05D0\u05D9\u05DE\u05D5\u05EA \u05D4\u05DF ${restValues} \u05D0\u05D5 ${lastValue}`;\n }\n case \"too_big\": {\n const sizing = getSizing(issue.origin);\n const subject = withDefinite(issue.origin ?? \"value\");\n if (issue.origin === \"string\") {\n // Special handling for strings - more natural Hebrew\n return `${sizing?.longLabel ?? \"\u05D0\u05E8\u05D5\u05DA\"} \u05DE\u05D3\u05D9: ${subject} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${issue.maximum.toString()} ${sizing?.unit ?? \"\"} ${issue.inclusive ? \"\u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA\" : \"\u05DC\u05DB\u05DC \u05D4\u05D9\u05D5\u05EA\u05E8\"}`.trim();\n }\n if (issue.origin === \"number\") {\n // Natural Hebrew for numbers\n const comparison = issue.inclusive ? `\u05E7\u05D8\u05DF \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${issue.maximum}` : `\u05E7\u05D8\u05DF \u05DE-${issue.maximum}`;\n return `\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${subject} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${comparison}`;\n }\n if (issue.origin === \"array\" || issue.origin === \"set\") {\n // Natural Hebrew for arrays and sets\n const verb = issue.origin === \"set\" ? \"\u05E6\u05E8\u05D9\u05DB\u05D4\" : \"\u05E6\u05E8\u05D9\u05DA\";\n const comparison = issue.inclusive\n ? `${issue.maximum} ${sizing?.unit ?? \"\"} \u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA`\n : `\u05E4\u05D7\u05D5\u05EA \u05DE-${issue.maximum} ${sizing?.unit ?? \"\"}`;\n return `\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${subject} ${verb} \u05DC\u05D4\u05DB\u05D9\u05DC ${comparison}`.trim();\n }\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const be = verbFor(issue.origin ?? \"value\");\n if (sizing?.unit) {\n return `${sizing.longLabel} \u05DE\u05D3\u05D9: ${subject} ${be} ${adj}${issue.maximum.toString()} ${sizing.unit}`;\n }\n return `${sizing?.longLabel ?? \"\u05D2\u05D3\u05D5\u05DC\"} \u05DE\u05D3\u05D9: ${subject} ${be} ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const sizing = getSizing(issue.origin);\n const subject = withDefinite(issue.origin ?? \"value\");\n if (issue.origin === \"string\") {\n // Special handling for strings - more natural Hebrew\n return `${sizing?.shortLabel ?? \"\u05E7\u05E6\u05E8\"} \u05DE\u05D3\u05D9: ${subject} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${issue.minimum.toString()} ${sizing?.unit ?? \"\"} ${issue.inclusive ? \"\u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8\" : \"\u05DC\u05E4\u05D7\u05D5\u05EA\"}`.trim();\n }\n if (issue.origin === \"number\") {\n // Natural Hebrew for numbers\n const comparison = issue.inclusive ? `\u05D2\u05D3\u05D5\u05DC \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${issue.minimum}` : `\u05D2\u05D3\u05D5\u05DC \u05DE-${issue.minimum}`;\n return `\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${subject} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${comparison}`;\n }\n if (issue.origin === \"array\" || issue.origin === \"set\") {\n // Natural Hebrew for arrays and sets\n const verb = issue.origin === \"set\" ? \"\u05E6\u05E8\u05D9\u05DB\u05D4\" : \"\u05E6\u05E8\u05D9\u05DA\";\n // Special case for singular (minimum === 1)\n if (issue.minimum === 1 && issue.inclusive) {\n const singularPhrase = issue.origin === \"set\" ? \"\u05DC\u05E4\u05D7\u05D5\u05EA \u05E4\u05E8\u05D9\u05D8 \u05D0\u05D7\u05D3\" : \"\u05DC\u05E4\u05D7\u05D5\u05EA \u05E4\u05E8\u05D9\u05D8 \u05D0\u05D7\u05D3\";\n return `\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${subject} ${verb} \u05DC\u05D4\u05DB\u05D9\u05DC ${singularPhrase}`;\n }\n const comparison = issue.inclusive\n ? `${issue.minimum} ${sizing?.unit ?? \"\"} \u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8`\n : `\u05D9\u05D5\u05EA\u05E8 \u05DE-${issue.minimum} ${sizing?.unit ?? \"\"}`;\n return `\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${subject} ${verb} \u05DC\u05D4\u05DB\u05D9\u05DC ${comparison}`.trim();\n }\n const adj = issue.inclusive ? \">=\" : \">\";\n const be = verbFor(issue.origin ?? \"value\");\n if (sizing?.unit) {\n return `${sizing.shortLabel} \u05DE\u05D3\u05D9: ${subject} ${be} ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `${sizing?.shortLabel ?? \"\u05E7\u05D8\u05DF\"} \u05DE\u05D3\u05D9: ${subject} ${be} ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n // These apply to strings \u2014 use feminine grammar + \u05D4\u05F3 \u05D4\u05D9\u05D3\u05D9\u05E2\u05D4\n if (_issue.format === \"starts_with\")\n return `\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05EA\u05D7\u05D9\u05DC \u05D1 \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05E1\u05EA\u05D9\u05D9\u05DD \u05D1 \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05DB\u05DC\u05D5\u05DC \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05EA\u05D0\u05D9\u05DD \u05DC\u05EA\u05D1\u05E0\u05D9\u05EA ${_issue.pattern}`;\n // Handle gender agreement for formats\n const nounEntry = FormatDictionary[_issue.format];\n const noun = nounEntry?.label ?? _issue.format;\n const gender = nounEntry?.gender ?? \"m\";\n const adjective = gender === \"f\" ? \"\u05EA\u05E7\u05D9\u05E0\u05D4\" : \"\u05EA\u05E7\u05D9\u05DF\";\n return `${noun} \u05DC\u05D0 ${adjective}`;\n }\n case \"not_multiple_of\":\n return `\u05DE\u05E1\u05E4\u05E8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D7\u05D9\u05D9\u05D1 \u05DC\u05D4\u05D9\u05D5\u05EA \u05DE\u05DB\u05E4\u05DC\u05D4 \u05E9\u05DC ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `\u05DE\u05E4\u05EA\u05D7${issue.keys.length > 1 ? \"\u05D5\u05EA\" : \"\"} \u05DC\u05D0 \u05DE\u05D6\u05D5\u05D4${issue.keys.length > 1 ? \"\u05D9\u05DD\" : \"\u05D4\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\": {\n return `\u05E9\u05D3\u05D4 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF \u05D1\u05D0\u05D5\u05D1\u05D9\u05D9\u05E7\u05D8`;\n }\n case \"invalid_union\":\n return \"\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF\";\n case \"invalid_element\": {\n const place = withDefinite(issue.origin ?? \"array\");\n return `\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF \u05D1${place}`;\n }\n default:\n return `\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u0905\u0915\u094D\u0937\u0930\", verb: \"\u0930\u0916\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F\" },\n file: { unit: \"\u092C\u093E\u0907\u091F\u094D\u0938\", verb: \"\u0930\u0916\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F\" },\n array: { unit: \"\u0924\u0924\u094D\u0935\", verb: \"\u0930\u0916\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F\" },\n set: { unit: \"\u0924\u0924\u094D\u0935\", verb: \"\u0930\u0916\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F\" },\n map: { unit: \"\u092A\u094D\u0930\u0935\u093F\u0937\u094D\u091F\u093F\u092F\u093E\u0901\", verb: \"\u0930\u0916\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u0907\u0928\u092A\u0941\u091F\",\n email: \"\u0908\u092E\u0947\u0932 \u092A\u0924\u093E\",\n url: \"URL\",\n emoji: \"\u0907\u092E\u094B\u091C\u0940\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO \u0924\u093F\u0925\u093F \u0914\u0930 \u0938\u092E\u092F\",\n date: \"ISO \u0924\u093F\u0925\u093F\",\n time: \"ISO \u0938\u092E\u092F\",\n duration: \"ISO \u0905\u0935\u0927\u093F\",\n ipv4: \"IPv4 \u092A\u0924\u093E\",\n ipv6: \"IPv6 \u092A\u0924\u093E\",\n mac: \"MAC \u092A\u0924\u093E\",\n cidrv4: \"IPv4 \u0936\u094D\u0930\u0947\u0923\u0940\",\n cidrv6: \"IPv6 \u0936\u094D\u0930\u0947\u0923\u0940\",\n base64: \"Base64-\u090F\u0928\u094D\u0915\u094B\u0921\u0947\u0921 \u0938\u094D\u091F\u094D\u0930\u093F\u0902\u0917\",\n base64url: \"Base64URL-\u090F\u0928\u094D\u0915\u094B\u0921\u0947\u0921 \u0938\u094D\u091F\u094D\u0930\u093F\u0902\u0917\",\n json_string: \"JSON \u0938\u094D\u091F\u094D\u0930\u093F\u0902\u0917\",\n e164: \"E.164 \u0938\u0902\u0916\u094D\u092F\u093E\",\n credit_card: \"\u0915\u094D\u0930\u0947\u0921\u093F\u091F \u0915\u093E\u0930\u094D\u0921 \u0938\u0902\u0916\u094D\u092F\u093E\",\n currency_code: \"\u092E\u0941\u0926\u094D\u0930\u093E \u0915\u094B\u0921\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"\u0907\u0928\u092A\u0941\u091F\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n return `\u0905\u092E\u093E\u0928\u094D\u092F \u0907\u0928\u092A\u0941\u091F: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 ${expected}, \u092A\u094D\u0930\u093E\u092A\u094D\u0924 ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u0905\u092E\u093E\u0928\u094D\u092F \u0907\u0928\u092A\u0941\u091F: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u0905\u092E\u093E\u0928\u094D\u092F \u0935\u093F\u0915\u0932\u094D\u092A: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 \u092E\u093E\u0928\u094B\u0902 \u092E\u0947\u0902 \u0938\u0947 \u090F\u0915 ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u092C\u0939\u0941\u0924 \u092C\u0921\u093C\u093E: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 \u0925\u093E \u0915\u093F ${issue.origin ?? \"\u092E\u093E\u0928\"} \u092E\u0947\u0902 ${adj}${issue.maximum} ${sizing.unit} \u0939\u094B\u0902`;\n return `\u092C\u0939\u0941\u0924 \u092C\u0921\u093C\u093E: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 \u0925\u093E \u0915\u093F ${issue.origin ?? \"\u092E\u093E\u0928\"} ${adj}${issue.maximum} \u0939\u094B`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u092C\u0939\u0941\u0924 \u091B\u094B\u091F\u093E: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 \u0925\u093E \u0915\u093F ${issue.origin} \u092E\u0947\u0902 ${adj}${issue.minimum} ${sizing.unit} \u0939\u094B\u0902`;\n return `\u092C\u0939\u0941\u0924 \u091B\u094B\u091F\u093E: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 \u0925\u093E \u0915\u093F ${issue.origin} ${adj}${issue.minimum} \u0939\u094B`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `\u0905\u092E\u093E\u0928\u094D\u092F \u0938\u094D\u091F\u094D\u0930\u093F\u0902\u0917: \"${_issue.prefix}\" \u0938\u0947 \u0936\u0941\u0930\u0942 \u0939\u094B\u0928\u093E \u091A\u093E\u0939\u093F\u090F`;\n if (_issue.format === \"ends_with\")\n return `\u0905\u092E\u093E\u0928\u094D\u092F \u0938\u094D\u091F\u094D\u0930\u093F\u0902\u0917: \"${_issue.suffix}\" \u092A\u0930 \u0938\u092E\u093E\u092A\u094D\u0924 \u0939\u094B\u0928\u093E \u091A\u093E\u0939\u093F\u090F`;\n if (_issue.format === \"includes\")\n return `\u0905\u092E\u093E\u0928\u094D\u092F \u0938\u094D\u091F\u094D\u0930\u093F\u0902\u0917: \u0907\u0938\u092E\u0947\u0902 \"${_issue.includes}\" \u0936\u093E\u092E\u093F\u0932 \u0939\u094B\u0928\u093E \u091A\u093E\u0939\u093F\u090F`;\n if (_issue.format === \"regex\")\n return `\u0905\u092E\u093E\u0928\u094D\u092F \u0938\u094D\u091F\u094D\u0930\u093F\u0902\u0917: \u092A\u0948\u091F\u0930\u094D\u0928 ${_issue.pattern} \u0938\u0947 \u092E\u0947\u0932 \u0916\u093E\u0928\u093E \u091A\u093E\u0939\u093F\u090F`;\n return `\u0905\u092E\u093E\u0928\u094D\u092F ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u0905\u092E\u093E\u0928\u094D\u092F \u0938\u0902\u0916\u094D\u092F\u093E: \u092F\u0939 ${issue.divisor} \u0915\u093E \u0917\u0941\u0923\u091C \u0939\u094B\u0928\u093E \u091A\u093E\u0939\u093F\u090F`;\n case \"unrecognized_keys\":\n return `\u0905\u092A\u0930\u093F\u091A\u093F\u0924 \u0915\u0941\u0902\u091C\u0940${issue.keys.length > 1 ? \"\u092F\u093E\u0901\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `\u0905\u092E\u093E\u0928\u094D\u092F \u0915\u0941\u0902\u091C\u0940: ${issue.origin} \u092E\u0947\u0902`;\n case \"invalid_union\":\n if (issue.options && Array.isArray(issue.options) && issue.options.length > 0) {\n const opts = issue.options.map((o) => `'${o}'`).join(\" | \");\n return `\u0905\u092E\u093E\u0928\u094D\u092F \u0921\u093F\u0938\u094D\u0915\u094D\u0930\u093F\u092E\u093F\u0928\u0947\u091F\u0930 \u092E\u093E\u0928: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 ${opts}`;\n }\n return \"\u0905\u092E\u093E\u0928\u094D\u092F \u0907\u0928\u092A\u0941\u091F\";\n case \"invalid_element\":\n return `\u0905\u092E\u093E\u0928\u094D\u092F \u092E\u093E\u0928: ${issue.origin} \u092E\u0947\u0902`;\n default:\n return `\u0905\u092E\u093E\u0928\u094D\u092F \u0907\u0928\u092A\u0941\u091F`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"znakova\", verb: \"imati\" },\n file: { unit: \"bajtova\", verb: \"imati\" },\n array: { unit: \"stavki\", verb: \"imati\" },\n set: { unit: \"stavki\", verb: \"imati\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"unos\",\n email: \"email adresa\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO datum i vrijeme\",\n date: \"ISO datum\",\n time: \"ISO vrijeme\",\n duration: \"ISO trajanje\",\n ipv4: \"IPv4 adresa\",\n ipv6: \"IPv6 adresa\",\n mac: \"MAC adresa\",\n cidrv4: \"IPv4 raspon\",\n cidrv6: \"IPv6 raspon\",\n base64: \"base64 kodirani tekst\",\n base64url: \"base64url kodirani tekst\",\n json_string: \"JSON tekst\",\n e164: \"E.164 broj\",\n credit_card: \"broj kreditne kartice\",\n currency_code: \"kod valute\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"unos\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n string: \"tekst\",\n number: \"broj\",\n boolean: \"boolean\",\n array: \"niz\",\n object: \"objekt\",\n set: \"skup\",\n file: \"datoteka\",\n date: \"datum\",\n bigint: \"bigint\",\n symbol: \"simbol\",\n undefined: \"undefined\",\n null: \"null\",\n function: \"funkcija\",\n map: \"mapa\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Neispravan unos: o\u010Dekuje se instanceof ${issue.expected}, a primljeno je ${received}`;\n }\n return `Neispravan unos: o\u010Dekuje se ${expected}, a primljeno je ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Neispravna vrijednost: o\u010Dekivano ${util.stringifyPrimitive(issue.values[0])}`;\n return `Neispravna opcija: o\u010Dekivano jedno od ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n const origin = TypeDictionary[issue.origin] ?? issue.origin;\n if (sizing)\n return `Preveliko: o\u010Dekivano da ${origin ?? \"vrijednost\"} ima ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elemenata\"}`;\n return `Preveliko: o\u010Dekivano da ${origin ?? \"vrijednost\"} bude ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n const origin = TypeDictionary[issue.origin] ?? issue.origin;\n if (sizing) {\n return `Premalo: o\u010Dekivano da ${origin} ima ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Premalo: o\u010Dekivano da ${origin} bude ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Neispravan tekst: mora zapo\u010Dinjati s \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Neispravan tekst: mora zavr\u0161avati s \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Neispravan tekst: mora sadr\u017Eavati \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Neispravan tekst: mora odgovarati uzorku ${_issue.pattern}`;\n return `Neispravna ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Neispravan broj: mora biti vi\u0161ekratnik od ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Neprepoznat${issue.keys.length > 1 ? \"i klju\u010Devi\" : \" klju\u010D\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Neispravan klju\u010D u ${TypeDictionary[issue.origin] ?? issue.origin}`;\n case \"invalid_union\":\n return \"Neispravan unos\";\n case \"invalid_element\":\n return `Neispravna vrijednost u ${TypeDictionary[issue.origin] ?? issue.origin}`;\n default:\n return `Neispravan unos`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"karakter\", verb: \"legyen\" },\n file: { unit: \"byte\", verb: \"legyen\" },\n array: { unit: \"elem\", verb: \"legyen\" },\n set: { unit: \"elem\", verb: \"legyen\" },\n map: { unit: \"elem\", verb: \"legyen\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"bemenet\",\n email: \"email c\u00EDm\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO id\u0151b\u00E9lyeg\",\n date: \"ISO d\u00E1tum\",\n time: \"ISO id\u0151\",\n duration: \"ISO id\u0151intervallum\",\n ipv4: \"IPv4 c\u00EDm\",\n ipv6: \"IPv6 c\u00EDm\",\n mac: \"MAC c\u00EDm\",\n cidrv4: \"IPv4 tartom\u00E1ny\",\n cidrv6: \"IPv6 tartom\u00E1ny\",\n base64: \"base64-k\u00F3dolt string\",\n base64url: \"base64url-k\u00F3dolt string\",\n json_string: \"JSON string\",\n e164: \"E.164 sz\u00E1m\",\n credit_card: \"hitelk\u00E1rtyasz\u00E1m\",\n currency_code: \"p\u00E9nznemk\u00F3d\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"bemenet\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"sz\u00E1m\",\n array: \"t\u00F6mb\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u00C9rv\u00E9nytelen bemenet: a v\u00E1rt \u00E9rt\u00E9k instanceof ${issue.expected}, a kapott \u00E9rt\u00E9k ${received}`;\n }\n return `\u00C9rv\u00E9nytelen bemenet: a v\u00E1rt \u00E9rt\u00E9k ${expected}, a kapott \u00E9rt\u00E9k ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u00C9rv\u00E9nytelen bemenet: a v\u00E1rt \u00E9rt\u00E9k ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u00C9rv\u00E9nytelen opci\u00F3: valamelyik \u00E9rt\u00E9k v\u00E1rt ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `T\u00FAl nagy: ${issue.origin ?? \"\u00E9rt\u00E9k\"} m\u00E9rete t\u00FAl nagy ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elem\"}`;\n return `T\u00FAl nagy: a bemeneti \u00E9rt\u00E9k ${issue.origin ?? \"\u00E9rt\u00E9k\"} t\u00FAl nagy: ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `T\u00FAl kicsi: a bemeneti \u00E9rt\u00E9k ${issue.origin} m\u00E9rete t\u00FAl kicsi ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `T\u00FAl kicsi: a bemeneti \u00E9rt\u00E9k ${issue.origin} t\u00FAl kicsi ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `\u00C9rv\u00E9nytelen string: \"${_issue.prefix}\" \u00E9rt\u00E9kkel kell kezd\u0151dnie`;\n if (_issue.format === \"ends_with\")\n return `\u00C9rv\u00E9nytelen string: \"${_issue.suffix}\" \u00E9rt\u00E9kkel kell v\u00E9gz\u0151dnie`;\n if (_issue.format === \"includes\")\n return `\u00C9rv\u00E9nytelen string: \"${_issue.includes}\" \u00E9rt\u00E9ket kell tartalmaznia`;\n if (_issue.format === \"regex\")\n return `\u00C9rv\u00E9nytelen string: ${_issue.pattern} mint\u00E1nak kell megfelelnie`;\n return `\u00C9rv\u00E9nytelen ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u00C9rv\u00E9nytelen sz\u00E1m: ${issue.divisor} t\u00F6bbsz\u00F6r\u00F6s\u00E9nek kell lennie`;\n case \"unrecognized_keys\":\n return `Ismeretlen kulcs${issue.keys.length > 1 ? \"s\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `\u00C9rv\u00E9nytelen kulcs ${issue.origin}`;\n case \"invalid_union\":\n return \"\u00C9rv\u00E9nytelen bemenet\";\n case \"invalid_element\":\n return `\u00C9rv\u00E9nytelen \u00E9rt\u00E9k: ${issue.origin}`;\n default:\n return `\u00C9rv\u00E9nytelen bemenet`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nfunction getArmenianPlural(count, one, many) {\n return Math.abs(count) === 1 ? one : many;\n}\nfunction withDefiniteArticle(word) {\n if (!word)\n return \"\";\n const vowels = [\"\u0561\", \"\u0565\", \"\u0568\", \"\u056B\", \"\u0578\", \"\u0578\u0582\", \"\u0585\"];\n const lastChar = word[word.length - 1];\n return word + (vowels.includes(lastChar) ? \"\u0576\" : \"\u0568\");\n}\nconst error = () => {\n const Sizable = {\n string: {\n unit: {\n one: \"\u0576\u0577\u0561\u0576\",\n many: \"\u0576\u0577\u0561\u0576\u0576\u0565\u0580\",\n },\n verb: \"\u0578\u0582\u0576\u0565\u0576\u0561\u056C\",\n },\n file: {\n unit: {\n one: \"\u0562\u0561\u0575\u0569\",\n many: \"\u0562\u0561\u0575\u0569\u0565\u0580\",\n },\n verb: \"\u0578\u0582\u0576\u0565\u0576\u0561\u056C\",\n },\n array: {\n unit: {\n one: \"\u057F\u0561\u0580\u0580\",\n many: \"\u057F\u0561\u0580\u0580\u0565\u0580\",\n },\n verb: \"\u0578\u0582\u0576\u0565\u0576\u0561\u056C\",\n },\n set: {\n unit: {\n one: \"\u057F\u0561\u0580\u0580\",\n many: \"\u057F\u0561\u0580\u0580\u0565\u0580\",\n },\n verb: \"\u0578\u0582\u0576\u0565\u0576\u0561\u056C\",\n },\n map: {\n unit: {\n one: \"\u057F\u0561\u0580\u0580\",\n many: \"\u057F\u0561\u0580\u0580\u0565\u0580\",\n },\n verb: \"\u0578\u0582\u0576\u0565\u0576\u0561\u056C\",\n },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u0574\u0578\u0582\u057F\u0584\",\n email: \"\u0567\u056C. \u0570\u0561\u057D\u0581\u0565\",\n url: \"URL\",\n emoji: \"\u0567\u0574\u0578\u057B\u056B\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO \u0561\u0574\u057D\u0561\u0569\u056B\u057E \u0587 \u056A\u0561\u0574\",\n date: \"ISO \u0561\u0574\u057D\u0561\u0569\u056B\u057E\",\n time: \"ISO \u056A\u0561\u0574\",\n duration: \"ISO \u057F\u0587\u0578\u0572\u0578\u0582\u0569\u0575\u0578\u0582\u0576\",\n ipv4: \"IPv4 \u0570\u0561\u057D\u0581\u0565\",\n ipv6: \"IPv6 \u0570\u0561\u057D\u0581\u0565\",\n mac: \"MAC \u0570\u0561\u057D\u0581\u0565\",\n cidrv4: \"IPv4 \u0574\u056B\u057B\u0561\u056F\u0561\u0575\u0584\",\n cidrv6: \"IPv6 \u0574\u056B\u057B\u0561\u056F\u0561\u0575\u0584\",\n base64: \"base64 \u0571\u0587\u0561\u0579\u0561\u0583\u0578\u057E \u057F\u0578\u0572\",\n base64url: \"base64url \u0571\u0587\u0561\u0579\u0561\u0583\u0578\u057E \u057F\u0578\u0572\",\n json_string: \"JSON \u057F\u0578\u0572\",\n e164: \"E.164 \u0570\u0561\u0574\u0561\u0580\",\n credit_card: \"\u056F\u0580\u0565\u0564\u056B\u057F \u0584\u0561\u0580\u057F\u056B \u0570\u0561\u0574\u0561\u0580\",\n currency_code: \"\u0561\u0580\u056A\u0578\u0582\u0575\u0569\u056B \u056F\u0578\u0564\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"\u0574\u0578\u0582\u057F\u0584\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u0569\u056B\u057E\",\n array: \"\u0566\u0561\u0576\u0563\u057E\u0561\u056E\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 instanceof ${issue.expected}, \u057D\u057F\u0561\u0581\u057E\u0565\u056C \u0567 ${received}`;\n }\n return `\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 ${expected}, \u057D\u057F\u0561\u0581\u057E\u0565\u056C \u0567 ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 ${util.stringifyPrimitive(issue.values[1])}`;\n return `\u054D\u056D\u0561\u056C \u057F\u0561\u0580\u0562\u0565\u0580\u0561\u056F\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 \u0570\u0565\u057F\u0587\u0575\u0561\u056C\u0576\u0565\u0580\u056B\u0581 \u0574\u0565\u056F\u0568\u055D ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n const maxValue = Number(issue.maximum);\n const unit = getArmenianPlural(maxValue, sizing.unit.one, sizing.unit.many);\n return `\u0549\u0561\u0583\u0561\u0566\u0561\u0576\u0581 \u0574\u0565\u056E \u0561\u0580\u056A\u0565\u0584\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567, \u0578\u0580 ${withDefiniteArticle(issue.origin ?? \"\u0561\u0580\u056A\u0565\u0584\")} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${adj}${issue.maximum.toString()} ${unit}`;\n }\n return `\u0549\u0561\u0583\u0561\u0566\u0561\u0576\u0581 \u0574\u0565\u056E \u0561\u0580\u056A\u0565\u0584\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567, \u0578\u0580 ${withDefiniteArticle(issue.origin ?? \"\u0561\u0580\u056A\u0565\u0584\")} \u056C\u056B\u0576\u056B ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n const minValue = Number(issue.minimum);\n const unit = getArmenianPlural(minValue, sizing.unit.one, sizing.unit.many);\n return `\u0549\u0561\u0583\u0561\u0566\u0561\u0576\u0581 \u0583\u0578\u0584\u0580 \u0561\u0580\u056A\u0565\u0584\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567, \u0578\u0580 ${withDefiniteArticle(issue.origin)} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${adj}${issue.minimum.toString()} ${unit}`;\n }\n return `\u0549\u0561\u0583\u0561\u0566\u0561\u0576\u0581 \u0583\u0578\u0584\u0580 \u0561\u0580\u056A\u0565\u0584\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567, \u0578\u0580 ${withDefiniteArticle(issue.origin)} \u056C\u056B\u0576\u056B ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u057D\u056F\u057D\u057E\u056B \"${_issue.prefix}\"-\u0578\u057E`;\n if (_issue.format === \"ends_with\")\n return `\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0561\u057E\u0561\u0580\u057F\u057E\u056B \"${_issue.suffix}\"-\u0578\u057E`;\n if (_issue.format === \"includes\")\n return `\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u057A\u0561\u0580\u0578\u0582\u0576\u0561\u056F\u056B \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0570\u0561\u0574\u0561\u057A\u0561\u057F\u0561\u057D\u056D\u0561\u0576\u056B ${_issue.pattern} \u0571\u0587\u0561\u0579\u0561\u0583\u056B\u0576`;\n return `\u054D\u056D\u0561\u056C ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u054D\u056D\u0561\u056C \u0569\u056B\u057E\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0562\u0561\u0566\u0574\u0561\u057A\u0561\u057F\u056B\u056F \u056C\u056B\u0576\u056B ${issue.divisor}-\u056B`;\n case \"unrecognized_keys\":\n return `\u0549\u0573\u0561\u0576\u0561\u0579\u057E\u0561\u056E \u0562\u0561\u0576\u0561\u056C\u056B${issue.keys.length > 1 ? \"\u0576\u0565\u0580\" : \"\"}. ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `\u054D\u056D\u0561\u056C \u0562\u0561\u0576\u0561\u056C\u056B ${withDefiniteArticle(issue.origin)}-\u0578\u0582\u0574`;\n case \"invalid_union\":\n return \"\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574\";\n case \"invalid_element\":\n return `\u054D\u056D\u0561\u056C \u0561\u0580\u056A\u0565\u0584 ${withDefiniteArticle(issue.origin)}-\u0578\u0582\u0574`;\n default:\n return `\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"karakter\", verb: \"memiliki\" },\n file: { unit: \"byte\", verb: \"memiliki\" },\n array: { unit: \"item\", verb: \"memiliki\" },\n set: { unit: \"item\", verb: \"memiliki\" },\n map: { unit: \"item\", verb: \"memiliki\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"input\",\n email: \"alamat email\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"tanggal dan waktu format ISO\",\n date: \"tanggal format ISO\",\n time: \"jam format ISO\",\n duration: \"durasi format ISO\",\n ipv4: \"alamat IPv4\",\n ipv6: \"alamat IPv6\",\n mac: \"alamat MAC\",\n cidrv4: \"rentang alamat IPv4\",\n cidrv6: \"rentang alamat IPv6\",\n base64: \"string dengan enkode base64\",\n base64url: \"string dengan enkode base64url\",\n json_string: \"string JSON\",\n e164: \"angka E.164\",\n credit_card: \"nomor kartu kredit\",\n currency_code: \"kode mata uang\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"input\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Input tidak valid: diharapkan instanceof ${issue.expected}, diterima ${received}`;\n }\n return `Input tidak valid: diharapkan ${expected}, diterima ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Input tidak valid: diharapkan ${util.stringifyPrimitive(issue.values[0])}`;\n return `Pilihan tidak valid: diharapkan salah satu dari ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Terlalu besar: diharapkan ${issue.origin ?? \"value\"} memiliki ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elemen\"}`;\n return `Terlalu besar: diharapkan ${issue.origin ?? \"value\"} menjadi ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Terlalu kecil: diharapkan ${issue.origin} memiliki ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Terlalu kecil: diharapkan ${issue.origin} menjadi ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `String tidak valid: harus dimulai dengan \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `String tidak valid: harus berakhir dengan \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `String tidak valid: harus menyertakan \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `String tidak valid: harus sesuai pola ${_issue.pattern}`;\n return `${FormatDictionary[_issue.format] ?? issue.format} tidak valid`;\n }\n case \"not_multiple_of\":\n return `Angka tidak valid: harus kelipatan dari ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Kunci tidak dikenali ${issue.keys.length > 1 ? \"s\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Kunci tidak valid di ${issue.origin}`;\n case \"invalid_union\":\n return \"Input tidak valid\";\n case \"invalid_element\":\n return `Nilai tidak valid di ${issue.origin}`;\n default:\n return `Input tidak valid`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"stafi\", verb: \"a\u00F0 hafa\" },\n file: { unit: \"b\u00E6ti\", verb: \"a\u00F0 hafa\" },\n array: { unit: \"hluti\", verb: \"a\u00F0 hafa\" },\n set: { unit: \"hluti\", verb: \"a\u00F0 hafa\" },\n map: { unit: \"hluti\", verb: \"a\u00F0 hafa\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"gildi\",\n email: \"netfang\",\n url: \"vefsl\u00F3\u00F0\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO dagsetning og t\u00EDmi\",\n date: \"ISO dagsetning\",\n time: \"ISO t\u00EDmi\",\n duration: \"ISO t\u00EDmalengd\",\n ipv4: \"IPv4 address\",\n ipv6: \"IPv6 address\",\n mac: \"MAC address\",\n cidrv4: \"IPv4 range\",\n cidrv6: \"IPv6 range\",\n base64: \"base64-encoded strengur\",\n base64url: \"base64url-encoded strengur\",\n json_string: \"JSON strengur\",\n e164: \"E.164 t\u00F6lugildi\",\n credit_card: \"kreditkortan\u00FAmer\",\n currency_code: \"gjaldmi\u00F0ilsk\u00F3\u00F0i\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"gildi\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"n\u00FAmer\",\n array: \"fylki\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Rangt gildi: \u00DE\u00FA sl\u00F3st inn ${received} \u00FEar sem \u00E1 a\u00F0 vera instanceof ${issue.expected}`;\n }\n return `Rangt gildi: \u00DE\u00FA sl\u00F3st inn ${received} \u00FEar sem \u00E1 a\u00F0 vera ${expected}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Rangt gildi: gert r\u00E1\u00F0 fyrir ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u00D3gilt val: m\u00E1 vera eitt af eftirfarandi ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Of st\u00F3rt: gert er r\u00E1\u00F0 fyrir a\u00F0 ${issue.origin ?? \"gildi\"} hafi ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"hluti\"}`;\n return `Of st\u00F3rt: gert er r\u00E1\u00F0 fyrir a\u00F0 ${issue.origin ?? \"gildi\"} s\u00E9 ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Of l\u00EDti\u00F0: gert er r\u00E1\u00F0 fyrir a\u00F0 ${issue.origin} hafi ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Of l\u00EDti\u00F0: gert er r\u00E1\u00F0 fyrir a\u00F0 ${issue.origin} s\u00E9 ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `\u00D3gildur strengur: ver\u00F0ur a\u00F0 byrja \u00E1 \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `\u00D3gildur strengur: ver\u00F0ur a\u00F0 enda \u00E1 \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `\u00D3gildur strengur: ver\u00F0ur a\u00F0 innihalda \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `\u00D3gildur strengur: ver\u00F0ur a\u00F0 fylgja mynstri ${_issue.pattern}`;\n return `Rangt ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `R\u00F6ng tala: ver\u00F0ur a\u00F0 vera margfeldi af ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `\u00D3\u00FEekkt ${issue.keys.length > 1 ? \"ir lyklar\" : \"ur lykill\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Rangur lykill \u00ED ${issue.origin}`;\n case \"invalid_union\":\n return \"Rangt gildi\";\n case \"invalid_element\":\n return `Rangt gildi \u00ED ${issue.origin}`;\n default:\n return `Rangt gildi`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"caratteri\", verb: \"avere\" },\n file: { unit: \"byte\", verb: \"avere\" },\n array: { unit: \"elementi\", verb: \"avere\" },\n set: { unit: \"elementi\", verb: \"avere\" },\n map: { unit: \"elementi\", verb: \"avere\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"input\",\n email: \"indirizzo email\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"data e ora ISO\",\n date: \"data ISO\",\n time: \"ora ISO\",\n duration: \"durata ISO\",\n ipv4: \"indirizzo IPv4\",\n ipv6: \"indirizzo IPv6\",\n mac: \"indirizzo MAC\",\n cidrv4: \"intervallo IPv4\",\n cidrv6: \"intervallo IPv6\",\n base64: \"stringa codificata in base64\",\n base64url: \"URL codificata in base64\",\n json_string: \"stringa JSON\",\n e164: \"numero E.164\",\n credit_card: \"numero di carta di credito\",\n currency_code: \"codice valuta\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"input\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"numero\",\n array: \"vettore\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Input non valido: atteso instanceof ${issue.expected}, ricevuto ${received}`;\n }\n return `Input non valido: atteso ${expected}, ricevuto ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Input non valido: atteso ${util.stringifyPrimitive(issue.values[0])}`;\n return `Opzione non valida: atteso uno tra ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Troppo grande: ${issue.origin ?? \"valore\"} deve avere ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elementi\"}`;\n return `Troppo grande: ${issue.origin ?? \"valore\"} deve essere ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Troppo piccolo: ${issue.origin} deve avere ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Troppo piccolo: ${issue.origin} deve essere ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Stringa non valida: deve iniziare con \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Stringa non valida: deve terminare con \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Stringa non valida: deve includere \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Stringa non valida: deve corrispondere al pattern ${_issue.pattern}`;\n return `Input non valido: ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Numero non valido: deve essere un multiplo di ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Chiav${issue.keys.length > 1 ? \"i\" : \"e\"} non riconosciut${issue.keys.length > 1 ? \"e\" : \"a\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Chiave non valida in ${issue.origin}`;\n case \"invalid_union\":\n return \"Input non valido\";\n case \"invalid_element\":\n return `Valore non valido in ${issue.origin}`;\n default:\n return `Input non valido`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u6587\u5B57\", verb: \"\u3067\u3042\u308B\" },\n file: { unit: \"\u30D0\u30A4\u30C8\", verb: \"\u3067\u3042\u308B\" },\n array: { unit: \"\u8981\u7D20\", verb: \"\u3067\u3042\u308B\" },\n set: { unit: \"\u8981\u7D20\", verb: \"\u3067\u3042\u308B\" },\n map: { unit: \"\u8981\u7D20\", verb: \"\u3067\u3042\u308B\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u5165\u529B\u5024\",\n email: \"\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\",\n url: \"URL\",\n emoji: \"\u7D75\u6587\u5B57\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO\u65E5\u6642\",\n date: \"ISO\u65E5\u4ED8\",\n time: \"ISO\u6642\u523B\",\n duration: \"ISO\u671F\u9593\",\n ipv4: \"IPv4\u30A2\u30C9\u30EC\u30B9\",\n ipv6: \"IPv6\u30A2\u30C9\u30EC\u30B9\",\n mac: \"MAC\u30A2\u30C9\u30EC\u30B9\",\n cidrv4: \"IPv4\u7BC4\u56F2\",\n cidrv6: \"IPv6\u7BC4\u56F2\",\n base64: \"base64\u30A8\u30F3\u30B3\u30FC\u30C9\u6587\u5B57\u5217\",\n base64url: \"base64url\u30A8\u30F3\u30B3\u30FC\u30C9\u6587\u5B57\u5217\",\n json_string: \"JSON\u6587\u5B57\u5217\",\n e164: \"E.164\u756A\u53F7\",\n credit_card: \"\u30AF\u30EC\u30B8\u30C3\u30C8\u30AB\u30FC\u30C9\u756A\u53F7\",\n currency_code: \"\u901A\u8CA8\u30B3\u30FC\u30C9\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"\u5165\u529B\u5024\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u6570\u5024\",\n array: \"\u914D\u5217\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u7121\u52B9\u306A\u5165\u529B: instanceof ${issue.expected}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F\u304C\u3001${received}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`;\n }\n return `\u7121\u52B9\u306A\u5165\u529B: ${expected}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F\u304C\u3001${received}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u7121\u52B9\u306A\u5165\u529B: ${util.stringifyPrimitive(issue.values[0])}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F`;\n return `\u7121\u52B9\u306A\u9078\u629E: ${util.joinValues(issue.values, \"\u3001\")}\u306E\u3044\u305A\u308C\u304B\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"\u4EE5\u4E0B\u3067\u3042\u308B\" : \"\u3088\u308A\u5C0F\u3055\u3044\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u5927\u304D\u3059\u304E\u308B\u5024: ${issue.origin ?? \"\u5024\"}\u306F${issue.maximum.toString()}${sizing.unit ?? \"\u8981\u7D20\"}${adj}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;\n return `\u5927\u304D\u3059\u304E\u308B\u5024: ${issue.origin ?? \"\u5024\"}\u306F${issue.maximum.toString()}${adj}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \"\u4EE5\u4E0A\u3067\u3042\u308B\" : \"\u3088\u308A\u5927\u304D\u3044\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u5C0F\u3055\u3059\u304E\u308B\u5024: ${issue.origin}\u306F${issue.minimum.toString()}${sizing.unit}${adj}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;\n return `\u5C0F\u3055\u3059\u304E\u308B\u5024: ${issue.origin}\u306F${issue.minimum.toString()}${adj}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `\u7121\u52B9\u306A\u6587\u5B57\u5217: \"${_issue.prefix}\"\u3067\u59CB\u307E\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;\n if (_issue.format === \"ends_with\")\n return `\u7121\u52B9\u306A\u6587\u5B57\u5217: \"${_issue.suffix}\"\u3067\u7D42\u308F\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;\n if (_issue.format === \"includes\")\n return `\u7121\u52B9\u306A\u6587\u5B57\u5217: \"${_issue.includes}\"\u3092\u542B\u3080\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;\n if (_issue.format === \"regex\")\n return `\u7121\u52B9\u306A\u6587\u5B57\u5217: \u30D1\u30BF\u30FC\u30F3${_issue.pattern}\u306B\u4E00\u81F4\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;\n return `\u7121\u52B9\u306A${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u7121\u52B9\u306A\u6570\u5024: ${issue.divisor}\u306E\u500D\u6570\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;\n case \"unrecognized_keys\":\n return `\u8A8D\u8B58\u3055\u308C\u3066\u3044\u306A\u3044\u30AD\u30FC${issue.keys.length > 1 ? \"\u7FA4\" : \"\"}: ${util.joinValues(issue.keys, \"\u3001\")}`;\n case \"invalid_key\":\n return `${issue.origin}\u5185\u306E\u7121\u52B9\u306A\u30AD\u30FC`;\n case \"invalid_union\":\n return \"\u7121\u52B9\u306A\u5165\u529B\";\n case \"invalid_element\":\n return `${issue.origin}\u5185\u306E\u7121\u52B9\u306A\u5024`;\n default:\n return `\u7121\u52B9\u306A\u5165\u529B`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u10E1\u10D8\u10DB\u10D1\u10DD\u10DA\u10DD\", verb: \"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1\" },\n file: { unit: \"\u10D1\u10D0\u10D8\u10E2\u10D8\", verb: \"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1\" },\n array: { unit: \"\u10D4\u10DA\u10D4\u10DB\u10D4\u10DC\u10E2\u10D8\", verb: \"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1\" },\n set: { unit: \"\u10D4\u10DA\u10D4\u10DB\u10D4\u10DC\u10E2\u10D8\", verb: \"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1\" },\n map: { unit: \"\u10D4\u10DA\u10D4\u10DB\u10D4\u10DC\u10E2\u10D8\", verb: \"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0\",\n email: \"\u10D4\u10DA-\u10E4\u10DD\u10E1\u10E2\u10D8\u10E1 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8\",\n url: \"URL\",\n emoji: \"\u10D4\u10DB\u10DD\u10EF\u10D8\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"\u10D7\u10D0\u10E0\u10D8\u10E6\u10D8-\u10D3\u10E0\u10DD\",\n date: \"\u10D7\u10D0\u10E0\u10D8\u10E6\u10D8\",\n time: \"\u10D3\u10E0\u10DD\",\n duration: \"\u10EE\u10D0\u10DC\u10D2\u10E0\u10EB\u10DA\u10D8\u10D5\u10DD\u10D1\u10D0\",\n ipv4: \"IPv4 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8\",\n ipv6: \"IPv6 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8\",\n mac: \"MAC \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8\",\n cidrv4: \"IPv4 \u10D3\u10D8\u10D0\u10DE\u10D0\u10D6\u10DD\u10DC\u10D8\",\n cidrv6: \"IPv6 \u10D3\u10D8\u10D0\u10DE\u10D0\u10D6\u10DD\u10DC\u10D8\",\n base64: \"base64-\u10D9\u10DD\u10D3\u10D8\u10E0\u10D4\u10D1\u10E3\u10DA\u10D8 \u10D5\u10D4\u10DA\u10D8\",\n base64url: \"base64url-\u10D9\u10DD\u10D3\u10D8\u10E0\u10D4\u10D1\u10E3\u10DA\u10D8 \u10D5\u10D4\u10DA\u10D8\",\n json_string: \"JSON \u10D5\u10D4\u10DA\u10D8\",\n e164: \"E.164 \u10DC\u10DD\u10DB\u10D4\u10E0\u10D8\",\n credit_card: \"\u10E1\u10D0\u10D9\u10E0\u10D4\u10D3\u10D8\u10E2\u10DD \u10D1\u10D0\u10E0\u10D0\u10D7\u10D8\u10E1 \u10DC\u10DD\u10DB\u10D4\u10E0\u10D8\",\n currency_code: \"\u10D5\u10D0\u10DA\u10E3\u10E2\u10D8\u10E1 \u10D9\u10DD\u10D3\u10D8\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"\u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u10E0\u10D8\u10EA\u10EE\u10D5\u10D8\",\n string: \"\u10D5\u10D4\u10DA\u10D8\",\n boolean: \"\u10D1\u10E3\u10DA\u10D4\u10D0\u10DC\u10D8\",\n function: \"\u10E4\u10E3\u10DC\u10E5\u10EA\u10D8\u10D0\",\n array: \"\u10DB\u10D0\u10E1\u10D8\u10D5\u10D8\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 instanceof ${issue.expected}, \u10DB\u10D8\u10E6\u10D4\u10D1\u10E3\u10DA\u10D8 ${received}`;\n }\n return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${expected}, \u10DB\u10D8\u10E6\u10D4\u10D1\u10E3\u10DA\u10D8 ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D5\u10D0\u10E0\u10D8\u10D0\u10DC\u10E2\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8\u10D0 \u10D4\u10E0\u10D7-\u10D4\u10E0\u10D7\u10D8 ${util.joinValues(issue.values, \"|\")}-\u10D3\u10D0\u10DC`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10D3\u10D8\u10D3\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${issue.origin ?? \"\u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0\"} ${sizing.verb} ${adj}${issue.maximum.toString()} ${sizing.unit}`;\n return `\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10D3\u10D8\u10D3\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${issue.origin ?? \"\u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0\"} \u10D8\u10E7\u10DD\u10E1 ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10DE\u10D0\u10E2\u10D0\u10E0\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${issue.origin} ${sizing.verb} ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10DE\u10D0\u10E2\u10D0\u10E0\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${issue.origin} \u10D8\u10E7\u10DD\u10E1 ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D5\u10D4\u10DA\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10D8\u10EC\u10E7\u10D4\u10D1\u10DD\u10D3\u10D4\u10E1 \"${_issue.prefix}\"-\u10D8\u10D7`;\n }\n if (_issue.format === \"ends_with\")\n return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D5\u10D4\u10DA\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10DB\u10D7\u10D0\u10D5\u10E0\u10D3\u10D4\u10D1\u10DD\u10D3\u10D4\u10E1 \"${_issue.suffix}\"-\u10D8\u10D7`;\n if (_issue.format === \"includes\")\n return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D5\u10D4\u10DA\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1 \"${_issue.includes}\"-\u10E1`;\n if (_issue.format === \"regex\")\n return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D5\u10D4\u10DA\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D4\u10E1\u10D0\u10D1\u10D0\u10DB\u10D4\u10D1\u10DD\u10D3\u10D4\u10E1 \u10E8\u10D0\u10D1\u10DA\u10DD\u10DC\u10E1 ${_issue.pattern}`;\n return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E0\u10D8\u10EA\u10EE\u10D5\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10D8\u10E7\u10DD\u10E1 ${issue.divisor}-\u10D8\u10E1 \u10EF\u10D4\u10E0\u10D0\u10D3\u10D8`;\n case \"unrecognized_keys\":\n return `\u10E3\u10EA\u10DC\u10DD\u10D1\u10D8 \u10D2\u10D0\u10E1\u10D0\u10E6\u10D4\u10D1${issue.keys.length > 1 ? \"\u10D4\u10D1\u10D8\" : \"\u10D8\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D2\u10D0\u10E1\u10D0\u10E6\u10D4\u10D1\u10D8 ${issue.origin}-\u10E8\u10D8`;\n case \"invalid_union\":\n return \"\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0\";\n case \"invalid_element\":\n return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0 ${issue.origin}-\u10E8\u10D8`;\n default:\n return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u178F\u17BD\u17A2\u1780\u17D2\u179F\u179A\", verb: \"\u1782\u17BD\u179A\u1798\u17B6\u1793\" },\n file: { unit: \"\u1794\u17C3\", verb: \"\u1782\u17BD\u179A\u1798\u17B6\u1793\" },\n array: { unit: \"\u1792\u17B6\u178F\u17BB\", verb: \"\u1782\u17BD\u179A\u1798\u17B6\u1793\" },\n set: { unit: \"\u1792\u17B6\u178F\u17BB\", verb: \"\u1782\u17BD\u179A\u1798\u17B6\u1793\" },\n map: { unit: \"\u1792\u17B6\u178F\u17BB\", verb: \"\u1782\u17BD\u179A\u1798\u17B6\u1793\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B\",\n email: \"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793\u17A2\u17CA\u17B8\u1798\u17C2\u179B\",\n url: \"URL\",\n emoji: \"\u179F\u1789\u17D2\u1789\u17B6\u17A2\u17B6\u179A\u1798\u17D2\u1798\u178E\u17CD\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791 \u1793\u17B7\u1784\u1798\u17C9\u17C4\u1784 ISO\",\n date: \"\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791 ISO\",\n time: \"\u1798\u17C9\u17C4\u1784 ISO\",\n duration: \"\u179A\u1799\u17C8\u1796\u17C1\u179B ISO\",\n ipv4: \"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv4\",\n ipv6: \"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv6\",\n mac: \"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 MAC\",\n cidrv4: \"\u178A\u17C2\u1793\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv4\",\n cidrv6: \"\u178A\u17C2\u1793\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv6\",\n base64: \"\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u17A2\u17CA\u17B7\u1780\u17BC\u178A base64\",\n base64url: \"\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u17A2\u17CA\u17B7\u1780\u17BC\u178A base64url\",\n json_string: \"\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A JSON\",\n e164: \"\u179B\u17C1\u1781 E.164\",\n credit_card: \"\u179B\u17C1\u1781\u1794\u17D0\u178E\u17D2\u178E\u17A5\u178E\u1791\u17B6\u1793\",\n currency_code: \"\u1780\u17BC\u178A\u179A\u17BC\u1794\u17B7\u1799\u1794\u17D0\u178E\u17D2\u178E\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u179B\u17C1\u1781\",\n array: \"\u17A2\u17B6\u179A\u17C1 (Array)\",\n null: \"\u1782\u17D2\u1798\u17B6\u1793\u178F\u1798\u17D2\u179B\u17C3 (null)\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A instanceof ${issue.expected} \u1794\u17C9\u17BB\u1793\u17D2\u178F\u17C2\u1791\u1791\u17BD\u179B\u1794\u17B6\u1793 ${received}`;\n }\n return `\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${expected} \u1794\u17C9\u17BB\u1793\u17D2\u178F\u17C2\u1791\u1791\u17BD\u179B\u1794\u17B6\u1793 ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u1787\u1798\u17D2\u179A\u17BE\u179F\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1787\u17B6\u1798\u17BD\u1799\u1780\u17D2\u1793\u17BB\u1784\u1785\u17C6\u178E\u17C4\u1798 ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u1792\u17C6\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${issue.origin ?? \"\u178F\u1798\u17D2\u179B\u17C3\"} ${adj} ${issue.maximum.toString()} ${sizing.unit ?? \"\u1792\u17B6\u178F\u17BB\"}`;\n return `\u1792\u17C6\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${issue.origin ?? \"\u178F\u1798\u17D2\u179B\u17C3\"} ${adj} ${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${issue.origin} ${adj} ${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${issue.origin} ${adj} ${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1785\u17B6\u1794\u17CB\u1795\u17D2\u178F\u17BE\u1798\u178A\u17C4\u1799 \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1794\u1789\u17D2\u1785\u1794\u17CB\u178A\u17C4\u1799 \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1798\u17B6\u1793 \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u178F\u17C2\u1795\u17D2\u1782\u17BC\u1795\u17D2\u1782\u1784\u1793\u17B9\u1784\u1791\u1798\u17D2\u179A\u1784\u17CB\u178A\u17C2\u179B\u1794\u17B6\u1793\u1780\u17C6\u178E\u178F\u17CB ${_issue.pattern}`;\n return `\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u179B\u17C1\u1781\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u178F\u17C2\u1787\u17B6\u1796\u17A0\u17BB\u1782\u17BB\u178E\u1793\u17C3 ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `\u179A\u1780\u1783\u17BE\u1789\u179F\u17C4\u1798\u17B7\u1793\u179F\u17D2\u1782\u17B6\u179B\u17CB\u17D6 ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `\u179F\u17C4\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u1793\u17C5\u1780\u17D2\u1793\u17BB\u1784 ${issue.origin}`;\n case \"invalid_union\":\n return `\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C`;\n case \"invalid_element\":\n return `\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u1793\u17C5\u1780\u17D2\u1793\u17BB\u1784 ${issue.origin}`;\n default:\n return `\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import km from \"./km.js\";\n/** @deprecated Use `km` instead. */\nexport default function () {\n return km();\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u0C85\u0C95\u0CCD\u0CB7\u0CB0\u0C97\u0CB3\u0CC1\", verb: \"\u0CB9\u0CCA\u0C82\u0CA6\u0CB2\u0CC1\" },\n file: { unit: \"\u0CAC\u0CC8\u0C9F\u0CCD\u200C\u0C97\u0CB3\u0CC1\", verb: \"\u0CB9\u0CCA\u0C82\u0CA6\u0CB2\u0CC1\" },\n array: { unit: \"\u0CB5\u0CB8\u0CCD\u0CA4\u0CC1\u0C97\u0CB3\u0CC1\", verb: \"\u0CB9\u0CCA\u0C82\u0CA6\u0CB2\u0CC1\" },\n set: { unit: \"\u0CB5\u0CB8\u0CCD\u0CA4\u0CC1\u0C97\u0CB3\u0CC1\", verb: \"\u0CB9\u0CCA\u0C82\u0CA6\u0CB2\u0CC1\" },\n map: { unit: \"entries\", verb: \"\u0CB9\u0CCA\u0C82\u0CA6\u0CB2\u0CC1\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u0C87\u0CA8\u0CCD\u0CAA\u0CC1\u0C9F\u0CCD\",\n email: \"email \u0CB5\u0CBF\u0CB3\u0CBE\u0CB8\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO \u0CA6\u0CBF\u0CA8\u0CBE\u0C82\u0C95\u0CA6 \u0CB8\u0CAE\u0CAF\",\n date: \"ISO \u0CA6\u0CBF\u0CA8\u0CBE\u0C82\u0C95\",\n time: \"ISO \u0CB8\u0CAE\u0CAF\",\n duration: \"ISO \u0C85\u0CB5\u0CA7\u0CBF\",\n ipv4: \"IPv4 \u0CB5\u0CBF\u0CB3\u0CBE\u0CB8\",\n ipv6: \"IPv6 \u0CB5\u0CBF\u0CB3\u0CBE\u0CB8\",\n mac: \"MAC \u0CB5\u0CBF\u0CB3\u0CBE\u0CB8\",\n cidrv4: \"IPv4 \u0CB5\u0CCD\u0CAF\u0CBE\u0CAA\u0CCD\u0CA4\u0CBF\u0CAF\",\n cidrv6: \"IPv6 \u0CB5\u0CCD\u0CAF\u0CBE\u0CAA\u0CCD\u0CA4\u0CBF\u0CAF\",\n base64: \"base64-encoded\u0CB8\u0CCD\u0C9F\u0CCD\u0CB0\u0CBF\u0C82\u0C97\u0CCD\",\n base64url: \"base64url-encoded\u0CB8\u0CCD\u0C9F\u0CCD\u0CB0\u0CBF\u0C82\u0C97\u0CCD\",\n json_string: \"JSON\u0CB8\u0CCD\u0C9F\u0CCD\u0CB0\u0CBF\u0C82\u0C97\u0CCD\",\n e164: \"E.164 \u0CB8\u0C82\u0C96\u0CCD\u0CAF\u0CC6\",\n credit_card: \"\u0C95\u0CCD\u0CB0\u0CC6\u0CA1\u0CBF\u0C9F\u0CCD \u0C95\u0CBE\u0CB0\u0CCD\u0CA1\u0CCD \u0CB8\u0C82\u0C96\u0CCD\u0CAF\u0CC6\",\n currency_code: \"\u0C95\u0CB0\u0CC6\u0CA8\u0CCD\u0CB8\u0CBF \u0C95\u0CCB\u0CA1\u0CCD\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"\u0C87\u0CA8\u0CCD\u0CAA\u0CC1\u0C9F\u0CCD\",\n };\n // type names: missing keys = do not translate (use raw value via ?? fallback)\n const TypeDictionary = {\n // Compatibility: \"nan\" -> \"NaN\" for display\n nan: \"NaN\",\n // All other type names omitted - they fall back to raw values via ?? operator\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF \u0C87\u0CA8\u0CCD\u200C\u0CAA\u0CC1\u0C9F\u0CCD: \u0CA8\u0CBF\u0CB0\u0CC0\u0C95\u0CCD\u0CB7\u0CBF\u0CB8\u0CB2\u0CBE\u0C97\u0CBF\u0CA6\u0CC6 ${expected}, \u0CB8\u0CCD\u0CB5\u0CC0\u0C95\u0CB0\u0CBF\u0CB8\u0CBF\u0CA6\u0CA8\u0CC1 ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF \u0C87\u0CA8\u0CCD\u200C\u0CAA\u0CC1\u0C9F\u0CCD: \u0CA8\u0CBF\u0CB0\u0CC0\u0C95\u0CCD\u0CB7\u0CBF\u0CB8\u0CB2\u0CBE\u0C97\u0CBF\u0CA6\u0CC6 ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF \u0C86\u0CAF\u0CCD\u0C95\u0CC6: \u0C87\u0CB5\u0CC1\u0C97\u0CB3\u0CB2\u0CCD\u0CB2\u0CBF \u0C92\u0C82\u0CA6\u0CA8\u0CCD\u0CA8\u0CC1 \u0CA8\u0CBF\u0CB0\u0CC0\u0C95\u0CCD\u0CB7\u0CBF\u0CB8\u0CB2\u0CBE\u0C97\u0CBF\u0CA6\u0CC6 ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u0CA4\u0CC1\u0C82\u0CAC\u0CBE \u0CA6\u0CCA\u0CA1\u0CCD\u0CA1\u0CA6\u0CC1: \u0CA8\u0CBF\u0CB0\u0CC0\u0C95\u0CCD\u0CB7\u0CBF\u0CB8\u0CB2\u0CBE\u0C97\u0CBF\u0CA6\u0CC6 ${issue.origin ?? \"value\"} \u0CB9\u0CCA\u0C82\u0CA6\u0CB2\u0CC1 ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"\u0C85\u0C82\u0CB6\u0C97\u0CB3\u0CC1\"}`;\n return `\u0CA4\u0CC1\u0C82\u0CAC\u0CBE \u0CA6\u0CCA\u0CA1\u0CCD\u0CA1\u0CA6\u0CC1: \u0CA8\u0CBF\u0CB0\u0CC0\u0C95\u0CCD\u0CB7\u0CBF\u0CB8\u0CB2\u0CBE\u0C97\u0CBF\u0CA6\u0CC6 ${issue.origin ?? \"value\"} \u0C8E\u0C82\u0CA6\u0CC1 ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u0CA4\u0CC1\u0C82\u0CAC\u0CBE \u0C9A\u0CBF\u0C95\u0CCD\u0C95\u0CA6\u0CC1: \u0CA8\u0CBF\u0CB0\u0CC0\u0C95\u0CCD\u0CB7\u0CBF\u0CB8\u0CB2\u0CBE\u0C97\u0CBF\u0CA6\u0CC6 ${issue.origin} \u0CB9\u0CCA\u0C82\u0CA6\u0CB2\u0CC1 ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `\u0CA4\u0CC1\u0C82\u0CAC\u0CBE \u0C9A\u0CBF\u0C95\u0CCD\u0C95\u0CA6\u0CC1: \u0CA8\u0CBF\u0CB0\u0CC0\u0C95\u0CCD\u0CB7\u0CBF\u0CB8\u0CB2\u0CBE\u0C97\u0CBF\u0CA6\u0CC6 ${issue.origin} \u0C8E\u0C82\u0CA6\u0CC1 ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF\u0CB5\u0CBE\u0CA6 \u0CB8\u0CCD\u0C9F\u0CCD\u0CB0\u0CBF\u0C82\u0C97\u0CCD: \u0C87\u0CA6\u0CB0\u0CCA\u0C82\u0CA6\u0CBF\u0C97\u0CC6 \u0CAA\u0CCD\u0CB0\u0CBE\u0CB0\u0C82\u0CAD\u0CBF\u0CB8\u0CAC\u0CC7\u0C95\u0CC1 \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF\u0CB5\u0CBE\u0CA6 \u0CB8\u0CCD\u0C9F\u0CCD\u0CB0\u0CBF\u0C82\u0C97\u0CCD: \u0C87\u0CA6\u0CB0\u0CCA\u0C82\u0CA6\u0CBF\u0C97\u0CC6 \u0C95\u0CCA\u0CA8\u0CC6\u0C97\u0CCA\u0CB3\u0CCD\u0CB3\u0CAC\u0CC7\u0C95\u0CC1 \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF \u0CB8\u0CCD\u0C9F\u0CCD\u0CB0\u0CBF\u0C82\u0C97\u0CCD: \u0C92\u0CB3\u0C97\u0CCA\u0C82\u0CA1\u0CBF\u0CB0\u0CAC\u0CC7\u0C95\u0CC1 \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF\u0CB5\u0CBE\u0CA6 \u0CB8\u0CCD\u0C9F\u0CCD\u0CB0\u0CBF\u0C82\u0C97\u0CCD: \u0CAE\u0CBE\u0CA6\u0CB0\u0CBF\u0C97\u0CC6 \u0CB9\u0CCA\u0C82\u0CA6\u0CBF\u0C95\u0CC6\u0CAF\u0CBE\u0C97\u0CAC\u0CC7\u0C95\u0CC1 ${_issue.pattern}`;\n return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF \u0CB8\u0C82\u0C96\u0CCD\u0CAF\u0CC6: \u0CAC\u0CB9\u0CC1\u0CB8\u0C82\u0C96\u0CCD\u0CAF\u0CC6\u0CAF\u0CBE\u0C97\u0CBF\u0CB0\u0CAC\u0CC7\u0C95\u0CC1 ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `\u0C97\u0CC1\u0CB0\u0CC1\u0CA4\u0CBF\u0CB8\u0CB2\u0CBE\u0C97\u0CA6 \u0C95\u0CC0 ${issue.keys.length > 1 ? \"s\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF\u0CB5\u0CBE\u0CA6 \u0C95\u0CC0 \u0C87\u0CA8\u0CCD ${issue.origin}`;\n case \"invalid_union\":\n if (issue.options && Array.isArray(issue.options) && issue.options.length > 0) {\n const opts = issue.options.map((o) => `'${o}'`).join(\" | \");\n return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF \u0CA4\u0CBE\u0CB0\u0CA4\u0CAE\u0CCD\u0CAF \u0CAE\u0CCC\u0CB2\u0CCD\u0CAF. \u0CA8\u0CBF\u0CB0\u0CC0\u0C95\u0CCD\u0CB7\u0CBF\u0CB8\u0CB2\u0CBE\u0C97\u0CBF\u0CA6\u0CC6 ${opts}`;\n }\n return \"\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF \u0C87\u0CA8\u0CCD\u200C\u0CAA\u0CC1\u0C9F\u0CCD\";\n case \"invalid_element\":\n return `\u0CB0\u0CB2\u0CCD\u0CB2\u0CBF \u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF \u0CAE\u0CCC\u0CB2\u0CCD\u0CAF ${issue.origin}`;\n default:\n return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF \u0C87\u0CA8\u0CCD\u200C\u0CAA\u0CC1\u0C9F\u0CCD`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\uBB38\uC790\", verb: \"to have\" },\n file: { unit: \"\uBC14\uC774\uD2B8\", verb: \"to have\" },\n array: { unit: \"\uAC1C\", verb: \"to have\" },\n set: { unit: \"\uAC1C\", verb: \"to have\" },\n map: { unit: \"\uAC1C\", verb: \"to have\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\uC785\uB825\",\n email: \"\uC774\uBA54\uC77C \uC8FC\uC18C\",\n url: \"URL\",\n emoji: \"\uC774\uBAA8\uC9C0\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO \uB0A0\uC9DC\uC2DC\uAC04\",\n date: \"ISO \uB0A0\uC9DC\",\n time: \"ISO \uC2DC\uAC04\",\n duration: \"ISO \uAE30\uAC04\",\n ipv4: \"IPv4 \uC8FC\uC18C\",\n ipv6: \"IPv6 \uC8FC\uC18C\",\n mac: \"MAC \uC8FC\uC18C\",\n cidrv4: \"IPv4 \uBC94\uC704\",\n cidrv6: \"IPv6 \uBC94\uC704\",\n base64: \"base64 \uC778\uCF54\uB529 \uBB38\uC790\uC5F4\",\n base64url: \"base64url \uC778\uCF54\uB529 \uBB38\uC790\uC5F4\",\n json_string: \"JSON \uBB38\uC790\uC5F4\",\n e164: \"E.164 \uBC88\uD638\",\n credit_card: \"\uC2E0\uC6A9\uCE74\uB4DC \uBC88\uD638\",\n currency_code: \"\uD1B5\uD654 \uCF54\uB4DC\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"\uC785\uB825\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\uC798\uBABB\uB41C \uC785\uB825: \uC608\uC0C1 \uD0C0\uC785\uC740 instanceof ${issue.expected}, \uBC1B\uC740 \uD0C0\uC785\uC740 ${received}\uC785\uB2C8\uB2E4`;\n }\n return `\uC798\uBABB\uB41C \uC785\uB825: \uC608\uC0C1 \uD0C0\uC785\uC740 ${expected}, \uBC1B\uC740 \uD0C0\uC785\uC740 ${received}\uC785\uB2C8\uB2E4`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\uC798\uBABB\uB41C \uC785\uB825: \uAC12\uC740 ${util.stringifyPrimitive(issue.values[0])} \uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4`;\n return `\uC798\uBABB\uB41C \uC635\uC158: ${util.joinValues(issue.values, \"\uB610\uB294 \")} \uC911 \uD558\uB098\uC5EC\uC57C \uD569\uB2C8\uB2E4`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"\uC774\uD558\" : \"\uBBF8\uB9CC\";\n const suffix = adj === \"\uBBF8\uB9CC\" ? \"\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4\" : \"\uC5EC\uC57C \uD569\uB2C8\uB2E4\";\n const sizing = getSizing(issue.origin);\n const unit = sizing?.unit ?? \"\uC694\uC18C\";\n if (sizing)\n return `${issue.origin ?? \"\uAC12\"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${issue.maximum.toString()}${unit} ${adj}${suffix}`;\n return `${issue.origin ?? \"\uAC12\"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${issue.maximum.toString()} ${adj}${suffix}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \"\uC774\uC0C1\" : \"\uCD08\uACFC\";\n const suffix = adj === \"\uC774\uC0C1\" ? \"\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4\" : \"\uC5EC\uC57C \uD569\uB2C8\uB2E4\";\n const sizing = getSizing(issue.origin);\n const unit = sizing?.unit ?? \"\uC694\uC18C\";\n if (sizing) {\n return `${issue.origin ?? \"\uAC12\"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${issue.minimum.toString()}${unit} ${adj}${suffix}`;\n }\n return `${issue.origin ?? \"\uAC12\"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${issue.minimum.toString()} ${adj}${suffix}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: \"${_issue.prefix}\"(\uC73C)\uB85C \uC2DC\uC791\uD574\uC57C \uD569\uB2C8\uB2E4`;\n }\n if (_issue.format === \"ends_with\")\n return `\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: \"${_issue.suffix}\"(\uC73C)\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4`;\n if (_issue.format === \"includes\")\n return `\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: \"${_issue.includes}\"\uC744(\uB97C) \uD3EC\uD568\uD574\uC57C \uD569\uB2C8\uB2E4`;\n if (_issue.format === \"regex\")\n return `\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: \uC815\uADDC\uC2DD ${_issue.pattern} \uD328\uD134\uACFC \uC77C\uCE58\uD574\uC57C \uD569\uB2C8\uB2E4`;\n return `\uC798\uBABB\uB41C ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\uC798\uBABB\uB41C \uC22B\uC790: ${issue.divisor}\uC758 \uBC30\uC218\uC5EC\uC57C \uD569\uB2C8\uB2E4`;\n case \"unrecognized_keys\":\n return `\uC778\uC2DD\uD560 \uC218 \uC5C6\uB294 \uD0A4: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `\uC798\uBABB\uB41C \uD0A4: ${issue.origin}`;\n case \"invalid_union\":\n return `\uC798\uBABB\uB41C \uC785\uB825`;\n case \"invalid_element\":\n return `\uC798\uBABB\uB41C \uAC12: ${issue.origin}`;\n default:\n return `\uC798\uBABB\uB41C \uC785\uB825`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst capitalizeFirstCharacter = (text) => {\n return text.charAt(0).toUpperCase() + text.slice(1);\n};\nfunction getUnitTypeFromNumber(number) {\n const abs = Math.abs(number);\n const last = abs % 10;\n const last2 = abs % 100;\n if ((last2 >= 11 && last2 <= 19) || last === 0)\n return \"many\";\n if (last === 1)\n return \"one\";\n return \"few\";\n}\nconst error = () => {\n const Sizable = {\n string: {\n unit: {\n one: \"simbolis\",\n few: \"simboliai\",\n many: \"simboli\u0173\",\n },\n verb: {\n smaller: {\n inclusive: \"turi b\u016Bti ne ilgesn\u0117 kaip\",\n notInclusive: \"turi b\u016Bti trumpesn\u0117 kaip\",\n },\n bigger: {\n inclusive: \"turi b\u016Bti ne trumpesn\u0117 kaip\",\n notInclusive: \"turi b\u016Bti ilgesn\u0117 kaip\",\n },\n },\n },\n file: {\n unit: {\n one: \"baitas\",\n few: \"baitai\",\n many: \"bait\u0173\",\n },\n verb: {\n smaller: {\n inclusive: \"turi b\u016Bti ne didesnis kaip\",\n notInclusive: \"turi b\u016Bti ma\u017Eesnis kaip\",\n },\n bigger: {\n inclusive: \"turi b\u016Bti ne ma\u017Eesnis kaip\",\n notInclusive: \"turi b\u016Bti didesnis kaip\",\n },\n },\n },\n array: {\n unit: {\n one: \"element\u0105\",\n few: \"elementus\",\n many: \"element\u0173\",\n },\n verb: {\n smaller: {\n inclusive: \"turi tur\u0117ti ne daugiau kaip\",\n notInclusive: \"turi tur\u0117ti ma\u017Eiau kaip\",\n },\n bigger: {\n inclusive: \"turi tur\u0117ti ne ma\u017Eiau kaip\",\n notInclusive: \"turi tur\u0117ti daugiau kaip\",\n },\n },\n },\n set: {\n unit: {\n one: \"element\u0105\",\n few: \"elementus\",\n many: \"element\u0173\",\n },\n verb: {\n smaller: {\n inclusive: \"turi tur\u0117ti ne daugiau kaip\",\n notInclusive: \"turi tur\u0117ti ma\u017Eiau kaip\",\n },\n bigger: {\n inclusive: \"turi tur\u0117ti ne ma\u017Eiau kaip\",\n notInclusive: \"turi tur\u0117ti daugiau kaip\",\n },\n },\n },\n };\n function getSizing(origin, unitType, inclusive, targetShouldBe) {\n const result = Sizable[origin] ?? null;\n if (result === null)\n return result;\n return {\n unit: result.unit[unitType],\n verb: result.verb[targetShouldBe][inclusive ? \"inclusive\" : \"notInclusive\"],\n };\n }\n const FormatDictionary = {\n regex: \"\u012Fvestis\",\n email: \"el. pa\u0161to adresas\",\n url: \"URL\",\n emoji: \"jaustukas\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO data ir laikas\",\n date: \"ISO data\",\n time: \"ISO laikas\",\n duration: \"ISO trukm\u0117\",\n ipv4: \"IPv4 adresas\",\n ipv6: \"IPv6 adresas\",\n mac: \"MAC adresas\",\n cidrv4: \"IPv4 tinklo prefiksas (CIDR)\",\n cidrv6: \"IPv6 tinklo prefiksas (CIDR)\",\n base64: \"base64 u\u017Ekoduota eilut\u0117\",\n base64url: \"base64url u\u017Ekoduota eilut\u0117\",\n json_string: \"JSON eilut\u0117\",\n e164: \"E.164 numeris\",\n credit_card: \"kredito kortel\u0117s numeris\",\n currency_code: \"valiutos kodas\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"\u012Fvestis\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"skai\u010Dius\",\n bigint: \"sveikasis skai\u010Dius\",\n string: \"eilut\u0117\",\n boolean: \"login\u0117 reik\u0161m\u0117\",\n undefined: \"neapibr\u0117\u017Eta reik\u0161m\u0117\",\n function: \"funkcija\",\n symbol: \"simbolis\",\n array: \"masyvas\",\n object: \"objektas\",\n null: \"nulin\u0117 reik\u0161m\u0117\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Gautas tipas ${received}, o tik\u0117tasi - instanceof ${issue.expected}`;\n }\n return `Gautas tipas ${received}, o tik\u0117tasi - ${expected}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Privalo b\u016Bti ${util.stringifyPrimitive(issue.values[0])}`;\n return `Privalo b\u016Bti vienas i\u0161 ${util.joinValues(issue.values, \"|\")} pasirinkim\u0173`;\n case \"too_big\": {\n const origin = TypeDictionary[issue.origin] ?? issue.origin;\n const sizing = getSizing(issue.origin, getUnitTypeFromNumber(Number(issue.maximum)), issue.inclusive ?? false, \"smaller\");\n if (sizing?.verb)\n return `${capitalizeFirstCharacter(origin ?? issue.origin ?? \"reik\u0161m\u0117\")} ${sizing.verb} ${issue.maximum.toString()} ${sizing.unit ?? \"element\u0173\"}`;\n const adj = issue.inclusive ? \"ne didesnis kaip\" : \"ma\u017Eesnis kaip\";\n return `${capitalizeFirstCharacter(origin ?? issue.origin ?? \"reik\u0161m\u0117\")} turi b\u016Bti ${adj} ${issue.maximum.toString()} ${sizing?.unit}`;\n }\n case \"too_small\": {\n const origin = TypeDictionary[issue.origin] ?? issue.origin;\n const sizing = getSizing(issue.origin, getUnitTypeFromNumber(Number(issue.minimum)), issue.inclusive ?? false, \"bigger\");\n if (sizing?.verb)\n return `${capitalizeFirstCharacter(origin ?? issue.origin ?? \"reik\u0161m\u0117\")} ${sizing.verb} ${issue.minimum.toString()} ${sizing.unit ?? \"element\u0173\"}`;\n const adj = issue.inclusive ? \"ne ma\u017Eesnis kaip\" : \"didesnis kaip\";\n return `${capitalizeFirstCharacter(origin ?? issue.origin ?? \"reik\u0161m\u0117\")} turi b\u016Bti ${adj} ${issue.minimum.toString()} ${sizing?.unit}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `Eilut\u0117 privalo prasid\u0117ti \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `Eilut\u0117 privalo pasibaigti \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Eilut\u0117 privalo \u012Ftraukti \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Eilut\u0117 privalo atitikti ${_issue.pattern}`;\n return `Neteisingas ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Skai\u010Dius privalo b\u016Bti ${issue.divisor} kartotinis.`;\n case \"unrecognized_keys\":\n return `Neatpa\u017Eint${issue.keys.length > 1 ? \"i\" : \"as\"} rakt${issue.keys.length > 1 ? \"ai\" : \"as\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return \"Rastas klaidingas raktas\";\n case \"invalid_union\":\n return \"Klaidinga \u012Fvestis\";\n case \"invalid_element\": {\n const origin = TypeDictionary[issue.origin] ?? issue.origin;\n return `${capitalizeFirstCharacter(origin ?? issue.origin ?? \"reik\u0161m\u0117\")} turi klaiding\u0105 \u012Fvest\u012F`;\n }\n default:\n return \"Klaidinga \u012Fvestis\";\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u0437\u043D\u0430\u0446\u0438\", verb: \"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442\" },\n file: { unit: \"\u0431\u0430\u0458\u0442\u0438\", verb: \"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442\" },\n array: { unit: \"\u0441\u0442\u0430\u0432\u043A\u0438\", verb: \"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442\" },\n set: { unit: \"\u0441\u0442\u0430\u0432\u043A\u0438\", verb: \"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442\" },\n map: { unit: \"\u0441\u0442\u0430\u0432\u043A\u0438\", verb: \"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u0432\u043D\u0435\u0441\",\n email: \"\u0430\u0434\u0440\u0435\u0441\u0430 \u043D\u0430 \u0435-\u043F\u043E\u0448\u0442\u0430\",\n url: \"URL\",\n emoji: \"\u0435\u043C\u043E\u045F\u0438\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO \u0434\u0430\u0442\u0443\u043C \u0438 \u0432\u0440\u0435\u043C\u0435\",\n date: \"ISO \u0434\u0430\u0442\u0443\u043C\",\n time: \"ISO \u0432\u0440\u0435\u043C\u0435\",\n duration: \"ISO \u0432\u0440\u0435\u043C\u0435\u0442\u0440\u0430\u0435\u045A\u0435\",\n ipv4: \"IPv4 \u0430\u0434\u0440\u0435\u0441\u0430\",\n ipv6: \"IPv6 \u0430\u0434\u0440\u0435\u0441\u0430\",\n mac: \"MAC \u0430\u0434\u0440\u0435\u0441\u0430\",\n cidrv4: \"IPv4 \u043E\u043F\u0441\u0435\u0433\",\n cidrv6: \"IPv6 \u043E\u043F\u0441\u0435\u0433\",\n base64: \"base64-\u0435\u043D\u043A\u043E\u0434\u0438\u0440\u0430\u043D\u0430 \u043D\u0438\u0437\u0430\",\n base64url: \"base64url-\u0435\u043D\u043A\u043E\u0434\u0438\u0440\u0430\u043D\u0430 \u043D\u0438\u0437\u0430\",\n json_string: \"JSON \u043D\u0438\u0437\u0430\",\n e164: \"E.164 \u0431\u0440\u043E\u0458\",\n credit_card: \"\u0431\u0440\u043E\u0458 \u043D\u0430 \u043A\u0440\u0435\u0434\u0438\u0442\u043D\u0430 \u043A\u0430\u0440\u0442\u0438\u0447\u043A\u0430\",\n currency_code: \"\u043A\u043E\u0434 \u043D\u0430 \u0432\u0430\u043B\u0443\u0442\u0430\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"\u0432\u043D\u0435\u0441\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u0431\u0440\u043E\u0458\",\n array: \"\u043D\u0438\u0437\u0430\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 instanceof ${issue.expected}, \u043F\u0440\u0438\u043C\u0435\u043D\u043E ${received}`;\n }\n return `\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${expected}, \u043F\u0440\u0438\u043C\u0435\u043D\u043E ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Invalid input: expected ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u0413\u0440\u0435\u0448\u0430\u043D\u0430 \u043E\u043F\u0446\u0438\u0458\u0430: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 \u0435\u0434\u043D\u0430 ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u0433\u043E\u043B\u0435\u043C: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${issue.origin ?? \"\u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0430\"} \u0434\u0430 \u0438\u043C\u0430 ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438\"}`;\n return `\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u0433\u043E\u043B\u0435\u043C: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${issue.origin ?? \"\u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0430\"} \u0434\u0430 \u0431\u0438\u0434\u0435 ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u043C\u0430\u043B: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${issue.origin} \u0434\u0430 \u0438\u043C\u0430 ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u043C\u0430\u043B: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${issue.origin} \u0434\u0430 \u0431\u0438\u0434\u0435 ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0437\u0430\u043F\u043E\u0447\u043D\u0443\u0432\u0430 \u0441\u043E \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0437\u0430\u0432\u0440\u0448\u0443\u0432\u0430 \u0441\u043E \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0432\u043A\u043B\u0443\u0447\u0443\u0432\u0430 \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u043E\u0434\u0433\u043E\u0430\u0440\u0430 \u043D\u0430 \u043F\u0430\u0442\u0435\u0440\u043D\u043E\u0442 ${_issue.pattern}`;\n return `Invalid ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u0413\u0440\u0435\u0448\u0435\u043D \u0431\u0440\u043E\u0458: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0431\u0438\u0434\u0435 \u0434\u0435\u043B\u0438\u0432 \u0441\u043E ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `${issue.keys.length > 1 ? \"\u041D\u0435\u043F\u0440\u0435\u043F\u043E\u0437\u043D\u0430\u0435\u043D\u0438 \u043A\u043B\u0443\u0447\u0435\u0432\u0438\" : \"\u041D\u0435\u043F\u0440\u0435\u043F\u043E\u0437\u043D\u0430\u0435\u043D \u043A\u043B\u0443\u0447\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `\u0413\u0440\u0435\u0448\u0435\u043D \u043A\u043B\u0443\u0447 \u0432\u043E ${issue.origin}`;\n case \"invalid_union\":\n return \"\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441\";\n case \"invalid_element\":\n return `\u0413\u0440\u0435\u0448\u043D\u0430 \u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442 \u0432\u043E ${issue.origin}`;\n default:\n return `\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"aksara\", verb: \"mempunyai\" },\n file: { unit: \"bait\", verb: \"mempunyai\" },\n array: { unit: \"elemen\", verb: \"mempunyai\" },\n set: { unit: \"elemen\", verb: \"mempunyai\" },\n map: { unit: \"elemen\", verb: \"mempunyai\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"input\",\n email: \"alamat e-mel\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"tarikh masa ISO\",\n date: \"tarikh ISO\",\n time: \"masa ISO\",\n duration: \"tempoh ISO\",\n ipv4: \"alamat IPv4\",\n ipv6: \"alamat IPv6\",\n mac: \"alamat MAC\",\n cidrv4: \"julat IPv4\",\n cidrv6: \"julat IPv6\",\n base64: \"string dikodkan base64\",\n base64url: \"string dikodkan base64url\",\n json_string: \"string JSON\",\n e164: \"nombor E.164\",\n credit_card: \"nombor kad kredit\",\n currency_code: \"kod mata wang\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"input\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"nombor\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Input tidak sah: dijangka instanceof ${issue.expected}, diterima ${received}`;\n }\n return `Input tidak sah: dijangka ${expected}, diterima ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Input tidak sah: dijangka ${util.stringifyPrimitive(issue.values[0])}`;\n return `Pilihan tidak sah: dijangka salah satu daripada ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Terlalu besar: dijangka ${issue.origin ?? \"nilai\"} ${sizing.verb} ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elemen\"}`;\n return `Terlalu besar: dijangka ${issue.origin ?? \"nilai\"} adalah ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Terlalu kecil: dijangka ${issue.origin} ${sizing.verb} ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Terlalu kecil: dijangka ${issue.origin} adalah ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `String tidak sah: mesti bermula dengan \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `String tidak sah: mesti berakhir dengan \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `String tidak sah: mesti mengandungi \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `String tidak sah: mesti sepadan dengan corak ${_issue.pattern}`;\n return `${FormatDictionary[_issue.format] ?? issue.format} tidak sah`;\n }\n case \"not_multiple_of\":\n return `Nombor tidak sah: perlu gandaan ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Kunci tidak dikenali: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Kunci tidak sah dalam ${issue.origin}`;\n case \"invalid_union\":\n return \"Input tidak sah\";\n case \"invalid_element\":\n return `Nilai tidak sah dalam ${issue.origin}`;\n default:\n return `Input tidak sah`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u0905\u0915\u094D\u0937\u0930\", verb: \"\u0939\u0941\u0928\u0941\u092A\u0930\u094D\u091B\" },\n file: { unit: \"\u092C\u093E\u0907\u091F\", verb: \"\u0939\u0941\u0928\u0941\u092A\u0930\u094D\u091B\" },\n array: { unit: \"\u0924\u0924\u094D\u0935\", verb: \"\u0939\u0941\u0928\u0941\u092A\u0930\u094D\u091B\" },\n set: { unit: \"\u0924\u0924\u094D\u0935\", verb: \"\u0939\u0941\u0928\u0941\u092A\u0930\u094D\u091B\" },\n map: { unit: \"\u092A\u094D\u0930\u0935\u093F\u0937\u094D\u091F\u093F\", verb: \"\u0939\u0941\u0928\u0941\u092A\u0930\u094D\u091B\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u0907\u0928\u092A\u0941\u091F\",\n email: \"\u0907\u092E\u0947\u0932 \u0920\u0947\u0917\u093E\u0928\u093E\",\n url: \"URL\",\n emoji: \"\u0907\u092E\u094B\u091C\u0940\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO \u092E\u093F\u0924\u093F \u0930 \u0938\u092E\u092F\",\n date: \"ISO \u092E\u093F\u0924\u093F\",\n time: \"ISO \u0938\u092E\u092F\",\n duration: \"ISO \u0905\u0935\u0927\u093F\",\n ipv4: \"IPv4 \u0920\u0947\u0917\u093E\u0928\u093E\",\n ipv6: \"IPv6 \u0920\u0947\u0917\u093E\u0928\u093E\",\n mac: \"MAC \u0920\u0947\u0917\u093E\u0928\u093E\",\n cidrv4: \"IPv4 \u0926\u093E\u092F\u0930\u093E\",\n cidrv6: \"IPv6 \u0926\u093E\u092F\u0930\u093E\",\n base64: \"base64-\u0907\u0928\u094D\u0915\u094B\u0921 \u0917\u0930\u093F\u090F\u0915\u094B \u0938\u094D\u091F\u094D\u0930\u093F\u0919\",\n base64url: \"base64url-\u0907\u0928\u094D\u0915\u094B\u0921 \u0917\u0930\u093F\u090F\u0915\u094B \u0938\u094D\u091F\u094D\u0930\u093F\u0919\",\n json_string: \"JSON \u0938\u094D\u091F\u094D\u0930\u093F\u0919\",\n e164: \"E.164 \u0928\u092E\u094D\u092C\u0930\",\n credit_card: \"\u0915\u094D\u0930\u0947\u0921\u093F\u091F \u0915\u093E\u0930\u094D\u0921 \u0928\u092E\u094D\u092C\u0930\",\n currency_code: \"\u092E\u0941\u0926\u094D\u0930\u093E \u0915\u094B\u0921\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"\u0907\u0928\u092A\u0941\u091F\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n return `\u0905\u092E\u093E\u0928\u094D\u092F \u0907\u0928\u092A\u0941\u091F: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 ${expected}, \u092A\u094D\u0930\u093E\u092A\u094D\u0924 ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u0905\u092E\u093E\u0928\u094D\u092F \u0907\u0928\u092A\u0941\u091F: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u0905\u092E\u093E\u0928\u094D\u092F \u0935\u093F\u0915\u0932\u094D\u092A: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 \u092E\u093E\u0928\u0939\u0930\u0942 \u092E\u0927\u094D\u092F\u0947 \u090F\u0915 ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u0927\u0947\u0930\u0948 \u0920\u0942\u0932\u094B: ${issue.origin ?? \"\u092E\u093E\u0928\"} \u092E\u093E ${adj}${issue.maximum.toString()} ${sizing.unit} ${sizing.verb}`;\n return `\u0927\u0947\u0930\u0948 \u0920\u0942\u0932\u094B: ${issue.origin ?? \"\u092E\u093E\u0928\"} ${adj}${issue.maximum.toString()} \u0939\u0941\u0928\u0941\u092A\u0930\u094D\u091B`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u0927\u0947\u0930\u0948 \u0938\u093E\u0928\u094B: ${issue.origin} \u092E\u093E ${adj}${issue.minimum.toString()} ${sizing.unit} ${sizing.verb}`;\n return `\u0927\u0947\u0930\u0948 \u0938\u093E\u0928\u094B: ${issue.origin} ${adj}${issue.minimum.toString()} \u0939\u0941\u0928\u0941\u092A\u0930\u094D\u091B`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `\u0905\u092E\u093E\u0928\u094D\u092F \u0938\u094D\u091F\u094D\u0930\u093F\u0919: \"${_issue.prefix}\" \u092C\u093E\u091F \u0938\u0941\u0930\u0941 \u0939\u0941\u0928\u0941\u092A\u0930\u094D\u091B`;\n if (_issue.format === \"ends_with\")\n return `\u0905\u092E\u093E\u0928\u094D\u092F \u0938\u094D\u091F\u094D\u0930\u093F\u0919: \"${_issue.suffix}\" \u092E\u093E \u0938\u092E\u093E\u092A\u094D\u0924 \u0939\u0941\u0928\u0941\u092A\u0930\u094D\u091B`;\n if (_issue.format === \"includes\")\n return `\u0905\u092E\u093E\u0928\u094D\u092F \u0938\u094D\u091F\u094D\u0930\u093F\u0919: \"${_issue.includes}\" \u0938\u092E\u093E\u0935\u0947\u0936 \u0939\u0941\u0928\u0941\u092A\u0930\u094D\u091B`;\n if (_issue.format === \"regex\")\n return `\u0905\u092E\u093E\u0928\u094D\u092F \u0938\u094D\u091F\u094D\u0930\u093F\u0919: \u0922\u093E\u0901\u091A\u093E ${_issue.pattern} \u0938\u0901\u0917 \u092E\u0947\u0932 \u0916\u093E\u0928\u0941\u092A\u0930\u094D\u091B`;\n return `\u0905\u092E\u093E\u0928\u094D\u092F ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u0905\u092E\u093E\u0928\u094D\u092F \u0938\u0902\u0916\u094D\u092F\u093E: ${issue.divisor} \u0915\u094B \u0917\u0941\u0923\u091C \u0939\u0941\u0928\u0941\u092A\u0930\u094D\u091B`;\n case \"unrecognized_keys\":\n return `\u0905\u092A\u0930\u093F\u091A\u093F\u0924 \u0915\u0941\u091E\u094D\u091C\u0940${issue.keys.length > 1 ? \"\u0939\u0930\u0942\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `\u0905\u092E\u093E\u0928\u094D\u092F \u0915\u0941\u091E\u094D\u091C\u0940: ${issue.origin} \u092E\u093E`;\n case \"invalid_union\":\n if (issue.options && Array.isArray(issue.options) && issue.options.length > 0) {\n const opts = issue.options.map((o) => `'${o}'`).join(\" | \");\n return `\u0905\u092E\u093E\u0928\u094D\u092F \u0921\u093F\u0938\u094D\u0915\u094D\u0930\u093F\u092E\u093F\u0928\u0947\u091F\u0930 \u092E\u093E\u0928: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 ${opts}`;\n }\n return \"\u0905\u092E\u093E\u0928\u094D\u092F \u0907\u0928\u092A\u0941\u091F\";\n case \"invalid_element\":\n return `\u0905\u092E\u093E\u0928\u094D\u092F \u092E\u093E\u0928: ${issue.origin} \u092E\u093E`;\n default:\n return `\u0905\u092E\u093E\u0928\u094D\u092F \u0907\u0928\u092A\u0941\u091F`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"tekens\", verb: \"heeft\" },\n file: { unit: \"bytes\", verb: \"heeft\" },\n array: { unit: \"elementen\", verb: \"heeft\" },\n set: { unit: \"elementen\", verb: \"heeft\" },\n map: { unit: \"elementen\", verb: \"heeft\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"invoer\",\n email: \"emailadres\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO datum en tijd\",\n date: \"ISO datum\",\n time: \"ISO tijd\",\n duration: \"ISO duur\",\n ipv4: \"IPv4-adres\",\n ipv6: \"IPv6-adres\",\n mac: \"MAC-adres\",\n cidrv4: \"IPv4-bereik\",\n cidrv6: \"IPv6-bereik\",\n base64: \"base64-gecodeerde tekst\",\n base64url: \"base64 URL-gecodeerde tekst\",\n json_string: \"JSON string\",\n e164: \"E.164-nummer\",\n credit_card: \"creditcardnummer\",\n currency_code: \"valutacode\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"invoer\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"getal\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Ongeldige invoer: verwacht instanceof ${issue.expected}, ontving ${received}`;\n }\n return `Ongeldige invoer: verwacht ${expected}, ontving ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Ongeldige invoer: verwacht ${util.stringifyPrimitive(issue.values[0])}`;\n return `Ongeldige optie: verwacht \u00E9\u00E9n van ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n const longName = issue.origin === \"date\" ? \"laat\" : issue.origin === \"string\" ? \"lang\" : \"groot\";\n if (sizing)\n return `Te ${longName}: verwacht dat ${issue.origin ?? \"waarde\"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elementen\"} ${sizing.verb}`;\n return `Te ${longName}: verwacht dat ${issue.origin ?? \"waarde\"} ${adj}${issue.maximum.toString()} is`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n const shortName = issue.origin === \"date\" ? \"vroeg\" : issue.origin === \"string\" ? \"kort\" : \"klein\";\n if (sizing) {\n return `Te ${shortName}: verwacht dat ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit} ${sizing.verb}`;\n }\n return `Te ${shortName}: verwacht dat ${issue.origin} ${adj}${issue.minimum.toString()} is`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `Ongeldige tekst: moet met \"${_issue.prefix}\" beginnen`;\n }\n if (_issue.format === \"ends_with\")\n return `Ongeldige tekst: moet op \"${_issue.suffix}\" eindigen`;\n if (_issue.format === \"includes\")\n return `Ongeldige tekst: moet \"${_issue.includes}\" bevatten`;\n if (_issue.format === \"regex\")\n return `Ongeldige tekst: moet overeenkomen met patroon ${_issue.pattern}`;\n return `Ongeldig: ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Ongeldig getal: moet een veelvoud van ${issue.divisor} zijn`;\n case \"unrecognized_keys\":\n return `Onbekende key${issue.keys.length > 1 ? \"s\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Ongeldige key in ${issue.origin}`;\n case \"invalid_union\":\n return \"Ongeldige invoer\";\n case \"invalid_element\":\n return `Ongeldige waarde in ${issue.origin}`;\n default:\n return `Ongeldige invoer`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"teikn\", verb: \"\u00E5 ha\" },\n file: { unit: \"bytes\", verb: \"\u00E5 ha\" },\n array: { unit: \"element\", verb: \"\u00E5 innehalde\" },\n set: { unit: \"element\", verb: \"\u00E5 innehalde\" },\n map: { unit: \"element\", verb: \"\u00E5 innehalde\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"input\",\n email: \"e-postadresse\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO dato- og klokkeslett\",\n date: \"ISO-dato\",\n time: \"ISO-klokkeslett\",\n duration: \"ISO-varigheit\",\n ipv4: \"IPv4-adresse\",\n ipv6: \"IPv6-adresse\",\n mac: \"MAC-adresse\",\n cidrv4: \"IPv4-spekter\",\n cidrv6: \"IPv6-spekter\",\n base64: \"base64-enkoda streng\",\n base64url: \"base64url-enkoda streng\",\n json_string: \"JSON-streng\",\n e164: \"E.164-nummer\",\n credit_card: \"kredittkortnummer\",\n currency_code: \"valutakode\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"input\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"tal\",\n array: \"liste\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Ugyldig input: forventa instanceof ${issue.expected}, fekk ${received}`;\n }\n return `Ugyldig input: forventa ${expected}, fekk ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Ugyldig verdi: forventa ${util.stringifyPrimitive(issue.values[0])}`;\n return `Ugyldig val: forventa eitt av ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `For stor(t): forventa ${issue.origin ?? \"value\"} til \u00E5 ha ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"element\"}`;\n return `For stor(t): forventa ${issue.origin ?? \"value\"} til \u00E5 ha ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `For lite(n): forventa ${issue.origin} til \u00E5 ha ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `For lite(n): forventa ${issue.origin} til \u00E5 ha ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Ugyldig streng: m\u00E5 starte med \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Ugyldig streng: m\u00E5 slutte med \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Ugyldig streng: m\u00E5 innehalde \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Ugyldig streng: m\u00E5 matche m\u00F8nsteret ${_issue.pattern}`;\n return `Ugyldig ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Ugyldig tal: m\u00E5 vere eit multiplum av ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `${issue.keys.length > 1 ? \"Ukjende n\u00F8klar\" : \"Ukjend n\u00F8kkel\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Ugyldig n\u00F8kkel i ${issue.origin}`;\n case \"invalid_union\":\n return \"Ugyldig input\";\n case \"invalid_element\":\n return `Ugyldig verdi i ${issue.origin}`;\n default:\n return `Ugyldig input`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"tegn\", verb: \"\u00E5 ha\" },\n file: { unit: \"bytes\", verb: \"\u00E5 ha\" },\n array: { unit: \"elementer\", verb: \"\u00E5 inneholde\" },\n set: { unit: \"elementer\", verb: \"\u00E5 inneholde\" },\n map: { unit: \"elementer\", verb: \"\u00E5 inneholde\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"input\",\n email: \"e-postadresse\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO dato- og klokkeslett\",\n date: \"ISO-dato\",\n time: \"ISO-klokkeslett\",\n duration: \"ISO-varighet\",\n ipv4: \"IPv4-adresse\",\n ipv6: \"IPv6-adresse\",\n mac: \"MAC-adresse\",\n cidrv4: \"IPv4-spekter\",\n cidrv6: \"IPv6-spekter\",\n base64: \"base64-enkodet streng\",\n base64url: \"base64url-enkodet streng\",\n json_string: \"JSON-streng\",\n e164: \"E.164-nummer\",\n credit_card: \"kredittkortnummer\",\n currency_code: \"valutakode\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"input\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"tall\",\n array: \"liste\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Ugyldig input: forventet instanceof ${issue.expected}, fikk ${received}`;\n }\n return `Ugyldig input: forventet ${expected}, fikk ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Ugyldig verdi: forventet ${util.stringifyPrimitive(issue.values[0])}`;\n return `Ugyldig valg: forventet en av ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `For stor(t): forventet ${issue.origin ?? \"value\"} til \u00E5 ha ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elementer\"}`;\n return `For stor(t): forventet ${issue.origin ?? \"value\"} til \u00E5 ha ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `For lite(n): forventet ${issue.origin} til \u00E5 ha ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `For lite(n): forventet ${issue.origin} til \u00E5 ha ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Ugyldig streng: m\u00E5 starte med \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Ugyldig streng: m\u00E5 ende med \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Ugyldig streng: m\u00E5 inneholde \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Ugyldig streng: m\u00E5 matche m\u00F8nsteret ${_issue.pattern}`;\n return `Ugyldig ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Ugyldig tall: m\u00E5 v\u00E6re et multiplum av ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `${issue.keys.length > 1 ? \"Ukjente n\u00F8kler\" : \"Ukjent n\u00F8kkel\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Ugyldig n\u00F8kkel i ${issue.origin}`;\n case \"invalid_union\":\n return \"Ugyldig input\";\n case \"invalid_element\":\n return `Ugyldig verdi i ${issue.origin}`;\n default:\n return `Ugyldig input`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"harf\", verb: \"olmal\u0131d\u0131r\" },\n file: { unit: \"bayt\", verb: \"olmal\u0131d\u0131r\" },\n array: { unit: \"unsur\", verb: \"olmal\u0131d\u0131r\" },\n set: { unit: \"unsur\", verb: \"olmal\u0131d\u0131r\" },\n map: { unit: \"unsur\", verb: \"olmal\u0131d\u0131r\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"giren\",\n email: \"epostag\u00E2h\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO heng\u00E2m\u0131\",\n date: \"ISO tarihi\",\n time: \"ISO zaman\u0131\",\n duration: \"ISO m\u00FCddeti\",\n ipv4: \"IPv4 ni\u015F\u00E2n\u0131\",\n ipv6: \"IPv6 ni\u015F\u00E2n\u0131\",\n mac: \"MAC ni\u015F\u00E2n\u0131\",\n cidrv4: \"IPv4 menzili\",\n cidrv6: \"IPv6 menzili\",\n base64: \"base64-\u015Fifreli metin\",\n base64url: \"base64url-\u015Fifreli metin\",\n json_string: \"JSON metin\",\n e164: \"E.164 say\u0131s\u0131\",\n credit_card: \"i'tib\u00E2r kart\u0131 numaras\u0131\",\n currency_code: \"para birimi kodu\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"giren\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"numara\",\n array: \"saf\",\n null: \"gayb\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `F\u00E2sit giren: umulan instanceof ${issue.expected}, al\u0131nan ${received}`;\n }\n return `F\u00E2sit giren: umulan ${expected}, al\u0131nan ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `F\u00E2sit giren: umulan ${util.stringifyPrimitive(issue.values[0])}`;\n return `F\u00E2sit tercih: m\u00FBteberler ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Fazla b\u00FCy\u00FCk: ${issue.origin ?? \"value\"}, ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elements\"} sahip olmal\u0131yd\u0131.`;\n return `Fazla b\u00FCy\u00FCk: ${issue.origin ?? \"value\"}, ${adj}${issue.maximum.toString()} olmal\u0131yd\u0131.`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Fazla k\u00FC\u00E7\u00FCk: ${issue.origin}, ${adj}${issue.minimum.toString()} ${sizing.unit} sahip olmal\u0131yd\u0131.`;\n }\n return `Fazla k\u00FC\u00E7\u00FCk: ${issue.origin}, ${adj}${issue.minimum.toString()} olmal\u0131yd\u0131.`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `F\u00E2sit metin: \"${_issue.prefix}\" ile ba\u015Flamal\u0131.`;\n if (_issue.format === \"ends_with\")\n return `F\u00E2sit metin: \"${_issue.suffix}\" ile bitmeli.`;\n if (_issue.format === \"includes\")\n return `F\u00E2sit metin: \"${_issue.includes}\" ihtiv\u00E2 etmeli.`;\n if (_issue.format === \"regex\")\n return `F\u00E2sit metin: ${_issue.pattern} nak\u015F\u0131na uymal\u0131.`;\n return `F\u00E2sit ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `F\u00E2sit say\u0131: ${issue.divisor} kat\u0131 olmal\u0131yd\u0131.`;\n case \"unrecognized_keys\":\n return `Tan\u0131nmayan anahtar ${issue.keys.length > 1 ? \"s\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `${issue.origin} i\u00E7in tan\u0131nmayan anahtar var.`;\n case \"invalid_union\":\n return \"Giren tan\u0131namad\u0131.\";\n case \"invalid_element\":\n return `${issue.origin} i\u00E7in tan\u0131nmayan k\u0131ymet var.`;\n default:\n return `K\u0131ymet tan\u0131namad\u0131.`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u062A\u0648\u06A9\u064A\", verb: \"\u0648\u0644\u0631\u064A\" },\n file: { unit: \"\u0628\u0627\u06CC\u067C\u0633\", verb: \"\u0648\u0644\u0631\u064A\" },\n array: { unit: \"\u062A\u0648\u06A9\u064A\", verb: \"\u0648\u0644\u0631\u064A\" },\n set: { unit: \"\u062A\u0648\u06A9\u064A\", verb: \"\u0648\u0644\u0631\u064A\" },\n map: { unit: \"\u062A\u0648\u06A9\u064A\", verb: \"\u0648\u0644\u0631\u064A\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u0648\u0631\u0648\u062F\u064A\",\n email: \"\u0628\u0631\u06CC\u069A\u0646\u0627\u0644\u06CC\u06A9\",\n url: \"\u06CC\u0648 \u0622\u0631 \u0627\u0644\",\n emoji: \"\u0627\u06CC\u0645\u0648\u062C\u064A\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"\u0646\u06CC\u067C\u0647 \u0627\u0648 \u0648\u062E\u062A\",\n date: \"\u0646\u06D0\u067C\u0647\",\n time: \"\u0648\u062E\u062A\",\n duration: \"\u0645\u0648\u062F\u0647\",\n ipv4: \"\u062F IPv4 \u067E\u062A\u0647\",\n ipv6: \"\u062F IPv6 \u067E\u062A\u0647\",\n mac: \"\u062F MAC \u067E\u062A\u0647\",\n cidrv4: \"\u062F IPv4 \u0633\u0627\u062D\u0647\",\n cidrv6: \"\u062F IPv6 \u0633\u0627\u062D\u0647\",\n base64: \"base64-encoded \u0645\u062A\u0646\",\n base64url: \"base64url-encoded \u0645\u062A\u0646\",\n json_string: \"JSON \u0645\u062A\u0646\",\n e164: \"\u062F E.164 \u0634\u0645\u06D0\u0631\u0647\",\n credit_card: \"\u062F \u06A9\u0631\u06CC\u0689\u06CC\u067C \u06A9\u0627\u0631\u062A \u0634\u0645\u06CC\u0631\u0647\",\n currency_code: \"\u062F \u0627\u0633\u0639\u0627\u0631\u0648 \u06A9\u0648\u0689\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"\u0648\u0631\u0648\u062F\u064A\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u0639\u062F\u062F\",\n array: \"\u0627\u0631\u06D0\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F instanceof ${issue.expected} \u0648\u0627\u06CC, \u0645\u06AB\u0631 ${received} \u062A\u0631\u0644\u0627\u0633\u0647 \u0634\u0648`;\n }\n return `\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F ${expected} \u0648\u0627\u06CC, \u0645\u06AB\u0631 ${received} \u062A\u0631\u0644\u0627\u0633\u0647 \u0634\u0648`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1) {\n return `\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F ${util.stringifyPrimitive(issue.values[0])} \u0648\u0627\u06CC`;\n }\n return `\u0646\u0627\u0633\u0645 \u0627\u0646\u062A\u062E\u0627\u0628: \u0628\u0627\u06CC\u062F \u06CC\u0648 \u0644\u0647 ${util.joinValues(issue.values, \"|\")} \u0685\u062E\u0647 \u0648\u0627\u06CC`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u0689\u06CC\u0631 \u0644\u0648\u06CC: ${issue.origin ?? \"\u0627\u0631\u0632\u069A\u062A\"} \u0628\u0627\u06CC\u062F ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"\u0639\u0646\u0635\u0631\u0648\u0646\u0647\"} \u0648\u0644\u0631\u064A`;\n }\n return `\u0689\u06CC\u0631 \u0644\u0648\u06CC: ${issue.origin ?? \"\u0627\u0631\u0632\u069A\u062A\"} \u0628\u0627\u06CC\u062F ${adj}${issue.maximum.toString()} \u0648\u064A`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${issue.origin} \u0628\u0627\u06CC\u062F ${adj}${issue.minimum.toString()} ${sizing.unit} \u0648\u0644\u0631\u064A`;\n }\n return `\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${issue.origin} \u0628\u0627\u06CC\u062F ${adj}${issue.minimum.toString()} \u0648\u064A`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F \"${_issue.prefix}\" \u0633\u0631\u0647 \u067E\u06CC\u0644 \u0634\u064A`;\n }\n if (_issue.format === \"ends_with\") {\n return `\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F \"${_issue.suffix}\" \u0633\u0631\u0647 \u067E\u0627\u06CC \u062A\u0647 \u0648\u0631\u0633\u064A\u0696\u064A`;\n }\n if (_issue.format === \"includes\") {\n return `\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \"${_issue.includes}\" \u0648\u0644\u0631\u064A`;\n }\n if (_issue.format === \"regex\") {\n return `\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F ${_issue.pattern} \u0633\u0631\u0647 \u0645\u0637\u0627\u0628\u0642\u062A \u0648\u0644\u0631\u064A`;\n }\n return `${FormatDictionary[_issue.format] ?? issue.format} \u0646\u0627\u0633\u0645 \u062F\u06CC`;\n }\n case \"not_multiple_of\":\n return `\u0646\u0627\u0633\u0645 \u0639\u062F\u062F: \u0628\u0627\u06CC\u062F \u062F ${issue.divisor} \u0645\u0636\u0631\u0628 \u0648\u064A`;\n case \"unrecognized_keys\":\n return `\u0646\u0627\u0633\u0645 ${issue.keys.length > 1 ? \"\u06A9\u0644\u06CC\u0689\u0648\u0646\u0647\" : \"\u06A9\u0644\u06CC\u0689\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `\u0646\u0627\u0633\u0645 \u06A9\u0644\u06CC\u0689 \u067E\u0647 ${issue.origin} \u06A9\u06D0`;\n case \"invalid_union\":\n return `\u0646\u0627\u0633\u0645\u0647 \u0648\u0631\u0648\u062F\u064A`;\n case \"invalid_element\":\n return `\u0646\u0627\u0633\u0645 \u0639\u0646\u0635\u0631 \u067E\u0647 ${issue.origin} \u06A9\u06D0`;\n default:\n return `\u0646\u0627\u0633\u0645\u0647 \u0648\u0631\u0648\u062F\u064A`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"znak\u00F3w\", verb: \"mie\u0107\" },\n file: { unit: \"bajt\u00F3w\", verb: \"mie\u0107\" },\n array: { unit: \"element\u00F3w\", verb: \"mie\u0107\" },\n set: { unit: \"element\u00F3w\", verb: \"mie\u0107\" },\n map: { unit: \"element\u00F3w\", verb: \"mie\u0107\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"wyra\u017Cenie\",\n email: \"adres email\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"data i godzina w formacie ISO\",\n date: \"data w formacie ISO\",\n time: \"godzina w formacie ISO\",\n duration: \"czas trwania ISO\",\n ipv4: \"adres IPv4\",\n ipv6: \"adres IPv6\",\n mac: \"adres MAC\",\n cidrv4: \"zakres IPv4\",\n cidrv6: \"zakres IPv6\",\n base64: \"ci\u0105g znak\u00F3w zakodowany w formacie base64\",\n base64url: \"ci\u0105g znak\u00F3w zakodowany w formacie base64url\",\n json_string: \"ci\u0105g znak\u00F3w w formacie JSON\",\n e164: \"liczba E.164\",\n credit_card: \"numer karty kredytowej\",\n currency_code: \"kod waluty\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"wej\u015Bcie\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"liczba\",\n array: \"tablica\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano instanceof ${issue.expected}, otrzymano ${received}`;\n }\n return `Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${expected}, otrzymano ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${util.stringifyPrimitive(issue.values[0])}`;\n return `Nieprawid\u0142owa opcja: oczekiwano jednej z warto\u015Bci ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Za du\u017Ca warto\u015B\u0107: oczekiwano, \u017Ce ${issue.origin ?? \"warto\u015B\u0107\"} b\u0119dzie mie\u0107 ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"element\u00F3w\"}`;\n }\n return `Zbyt du\u017C(y/a/e): oczekiwano, \u017Ce ${issue.origin ?? \"warto\u015B\u0107\"} b\u0119dzie wynosi\u0107 ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Za ma\u0142a warto\u015B\u0107: oczekiwano, \u017Ce ${issue.origin ?? \"warto\u015B\u0107\"} b\u0119dzie mie\u0107 ${adj}${issue.minimum.toString()} ${sizing.unit ?? \"element\u00F3w\"}`;\n }\n return `Zbyt ma\u0142(y/a/e): oczekiwano, \u017Ce ${issue.origin ?? \"warto\u015B\u0107\"} b\u0119dzie wynosi\u0107 ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Nieprawid\u0142owy ci\u0105g znak\u00F3w: musi zaczyna\u0107 si\u0119 od \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Nieprawid\u0142owy ci\u0105g znak\u00F3w: musi ko\u0144czy\u0107 si\u0119 na \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Nieprawid\u0142owy ci\u0105g znak\u00F3w: musi zawiera\u0107 \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Nieprawid\u0142owy ci\u0105g znak\u00F3w: musi odpowiada\u0107 wzorcowi ${_issue.pattern}`;\n return `Nieprawid\u0142ow(y/a/e) ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Nieprawid\u0142owa liczba: musi by\u0107 wielokrotno\u015Bci\u0105 ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Nierozpoznane klucze${issue.keys.length > 1 ? \"s\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Nieprawid\u0142owy klucz w ${issue.origin}`;\n case \"invalid_union\":\n return \"Nieprawid\u0142owe dane wej\u015Bciowe\";\n case \"invalid_element\":\n return `Nieprawid\u0142owa warto\u015B\u0107 w ${issue.origin}`;\n default:\n return `Nieprawid\u0142owe dane wej\u015Bciowe`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"caracteres\" },\n file: { unit: \"bytes\" },\n array: { unit: \"elementos\" },\n set: { unit: \"elementos\" },\n map: { unit: \"entradas\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"a entrada\",\n email: \"o endere\u00E7o de e-mail\",\n url: \"o URL\",\n emoji: \"o emoji\",\n uuid: \"o UUID\",\n uuidv4: \"o UUIDv4\",\n uuidv6: \"o UUIDv6\",\n nanoid: \"o nanoid\",\n guid: \"o GUID\",\n cuid: \"o cuid\",\n cuid2: \"o cuid2\",\n ulid: \"o ULID\",\n xid: \"o XID\",\n ksuid: \"o KSUID\",\n datetime: \"a data e hora ISO\",\n date: \"a data ISO\",\n time: \"a hora ISO\",\n duration: \"a dura\u00E7\u00E3o ISO\",\n ipv4: \"o endere\u00E7o IPv4\",\n ipv6: \"o endere\u00E7o IPv6\",\n mac: \"o endere\u00E7o MAC\",\n cidrv4: \"o intervalo de endere\u00E7os IPv4\",\n cidrv6: \"o intervalo de endere\u00E7os IPv6\",\n base64: \"o texto codificado em base64\",\n base64url: \"o texto codificado em base64url\",\n json_string: \"o texto JSON\",\n e164: \"o n\u00FAmero E.164\",\n credit_card: \"o n\u00FAmero de cart\u00E3o de cr\u00E9dito\",\n currency_code: \"o c\u00F3digo de moeda\",\n iban: \"o IBAN\",\n jwt: \"o JWT\",\n template_literal: \"a entrada\",\n };\n const Gender = {\n masculine: { definite: \"o\", indefinite: \"um\" },\n feminine: { definite: \"a\", indefinite: \"uma\" },\n };\n const TypeDictionary = {\n string: { name: \"texto\", articles: Gender.masculine },\n number: { name: \"n\u00FAmero\", articles: Gender.masculine },\n int: { name: \"n\u00FAmero inteiro\", articles: Gender.masculine },\n boolean: { name: \"valor booleano\", articles: Gender.masculine },\n bigint: { name: \"n\u00FAmero bigint\", articles: Gender.masculine },\n symbol: { name: \"s\u00EDmbolo\", articles: Gender.masculine },\n undefined: { name: 'valor \"undefined\"', articles: Gender.masculine },\n null: { name: 'valor \"nulo\"', articles: Gender.masculine },\n never: { name: 'valor \"never\"', articles: Gender.masculine },\n void: { name: 'valor \"void\"', articles: Gender.masculine },\n date: { name: \"data\", articles: Gender.feminine },\n array: { name: \"vetor\", articles: Gender.masculine },\n object: { name: \"objeto\", articles: Gender.masculine },\n tuple: { name: \"tuplo\", articles: Gender.masculine },\n record: { name: \"registo\", articles: Gender.masculine },\n map: { name: \"mapa\", articles: Gender.masculine },\n set: { name: \"conjunto\", articles: Gender.masculine },\n file: { name: \"ficheiro\", articles: Gender.masculine },\n nonoptional: { name: \"valor n\u00E3o opcional\", articles: Gender.masculine },\n nan: { name: 'valor \"NaN\"', articles: Gender.masculine }, // Compatibility: \"nan\" -> \"NaN\" for display\n function: { name: \"fun\u00E7\u00E3o\", articles: Gender.feminine },\n };\n function translateOriginWithArticle(type, articleType) {\n const translatedValue = TypeDictionary[type] ?? { name: `valor \"${type}\"`, articles: Gender.masculine };\n return `${translatedValue.articles[articleType]} ${translatedValue.name}`;\n }\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = translateOriginWithArticle(issue.expected, \"indefinite\");\n const receivedType = util.parsedType(issue.input);\n const received = translateOriginWithArticle(receivedType, \"indefinite\");\n return `Entrada inv\u00E1lida: esperava ${expected}, recebeu ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Entrada inv\u00E1lida: esperava ${util.stringifyPrimitive(issue.values[0])}`;\n return `Op\u00E7\u00E3o inv\u00E1lida: esperava uma das seguintes op\u00E7\u00F5es: ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Demasiado grande: esperava que ${translateOriginWithArticle(issue.origin, \"definite\")} tivesse ${adj} ${issue.maximum.toString()} ${sizing.unit ?? \"elementos\"}`;\n return `Demasiado grande: esperava que ${translateOriginWithArticle(issue.origin, \"definite\")} fosse ${adj} ${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Demasiado pequeno: esperava que ${translateOriginWithArticle(issue.origin, \"definite\")} tivesse ${adj} ${issue.minimum.toString()} ${sizing.unit ?? \"elementos\"}`;\n }\n return `Demasiado pequeno: esperava que ${translateOriginWithArticle(issue.origin, \"definite\")} fosse ${adj} ${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Texto inv\u00E1lido: deve come\u00E7ar por \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Texto inv\u00E1lido: deve terminar em \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Texto inv\u00E1lido: deve incluir \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Texto inv\u00E1lido: deve corresponder ao padr\u00E3o ${_issue.pattern}`;\n return `Formato d${FormatDictionary[_issue.format] ?? issue.format} inv\u00E1lido`;\n }\n case \"not_multiple_of\":\n return `N\u00FAmero inv\u00E1lido: deve ser m\u00FAltiplo de ${issue.divisor}`;\n case \"unrecognized_keys\": {\n const plural = issue.keys.length > 1 ? \"s\" : \"\";\n return `Chave${plural} inv\u00E1lida${plural}: ${util.joinValues(issue.keys, \", \")}`;\n }\n case \"invalid_key\":\n return `Entrada inv\u00E1lida n${translateOriginWithArticle(issue.origin, \"definite\")}`;\n case \"invalid_union\":\n if (issue.options && Array.isArray(issue.options) && issue.options.length > 0) {\n const opts = issue.options.map((o) => `'${o}'`).join(\" | \");\n return `Valor de discrimina\u00E7\u00E3o inv\u00E1lido. Esperava ${opts}`;\n }\n return \"Entrada inv\u00E1lida\";\n case \"invalid_element\":\n return `Entrada inv\u00E1lida n${translateOriginWithArticle(issue.origin, \"definite\")}`;\n default:\n return `Entrada inv\u00E1lida`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"caracteres\" },\n file: { unit: \"bytes\" },\n array: { unit: \"elementos\" },\n set: { unit: \"elementos\" },\n map: { unit: \"entradas\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"a entrada\",\n email: \"o endere\u00E7o de e-mail\",\n url: \"o URL\",\n emoji: \"o emoji\",\n uuid: \"o UUID\",\n uuidv4: \"o UUIDv4\",\n uuidv6: \"o UUIDv6\",\n nanoid: \"o nanoid\",\n guid: \"o GUID\",\n cuid: \"o cuid\",\n cuid2: \"o cuid2\",\n ulid: \"o ULID\",\n xid: \"o XID\",\n ksuid: \"o KSUID\",\n datetime: \"a data e hora ISO\",\n date: \"a data ISO\",\n time: \"a hora ISO\",\n duration: \"a dura\u00E7\u00E3o ISO\",\n ipv4: \"o endere\u00E7o IPv4\",\n ipv6: \"o endere\u00E7o IPv6\",\n mac: \"o endere\u00E7o MAC\",\n cidrv4: \"a faixa de endere\u00E7os IPv4\",\n cidrv6: \"a faixa de endere\u00E7os IPv6\",\n base64: \"o texto codificado em base64\",\n base64url: \"o texto codificado em base64url\",\n json_string: \"o texto JSON\",\n e164: \"o n\u00FAmero E.164\",\n credit_card: \"o n\u00FAmero de cart\u00E3o de cr\u00E9dito\",\n currency_code: \"o c\u00F3digo de moeda\",\n iban: \"o IBAN\",\n jwt: \"o JWT\",\n template_literal: \"a entrada\",\n };\n const Gender = {\n masculine: { definite: \"o\", indefinite: \"um\" },\n feminine: { definite: \"a\", indefinite: \"uma\" },\n };\n const TypeDictionary = {\n string: { name: \"texto\", articles: Gender.masculine },\n number: { name: \"n\u00FAmero\", articles: Gender.masculine },\n int: { name: \"n\u00FAmero inteiro\", articles: Gender.masculine },\n boolean: { name: \"valor booleano\", articles: Gender.masculine },\n bigint: { name: \"n\u00FAmero bigint\", articles: Gender.masculine },\n symbol: { name: \"s\u00EDmbolo\", articles: Gender.masculine },\n undefined: { name: 'valor \"undefined\"', articles: Gender.masculine },\n null: { name: 'valor \"nulo\"', articles: Gender.masculine },\n never: { name: 'valor \"never\"', articles: Gender.masculine },\n void: { name: 'valor \"void\"', articles: Gender.masculine },\n date: { name: \"data\", articles: Gender.feminine },\n array: { name: \"vetor\", articles: Gender.masculine },\n object: { name: \"objeto\", articles: Gender.masculine },\n tuple: { name: \"tupla\", articles: Gender.feminine },\n record: { name: \"registro\", articles: Gender.masculine },\n map: { name: \"mapa\", articles: Gender.masculine },\n set: { name: \"conjunto\", articles: Gender.masculine },\n file: { name: \"arquivo\", articles: Gender.masculine },\n nonoptional: { name: \"valor n\u00E3o opcional\", articles: Gender.masculine },\n nan: { name: 'valor \"NaN\"', articles: Gender.masculine }, // Compatibility: \"nan\" -> \"NaN\" for display\n function: { name: \"fun\u00E7\u00E3o\", articles: Gender.feminine },\n };\n function translateOriginWithArticle(type, articleType) {\n const translatedValue = TypeDictionary[type] ?? { name: `valor \"${type}\"`, articles: Gender.masculine };\n return `${translatedValue.articles[articleType]} ${translatedValue.name}`;\n }\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = translateOriginWithArticle(issue.expected, \"indefinite\");\n const receivedType = util.parsedType(issue.input);\n const received = translateOriginWithArticle(receivedType, \"indefinite\");\n return `Entrada inv\u00E1lida: esperava ${expected}, recebeu ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Entrada inv\u00E1lida: esperava ${util.stringifyPrimitive(issue.values[0])}`;\n return `Op\u00E7\u00E3o inv\u00E1lida: esperava uma das seguintes op\u00E7\u00F5es: ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Grande demais: esperava que ${translateOriginWithArticle(issue.origin, \"definite\")} tivesse ${adj} ${issue.maximum.toString()} ${sizing.unit ?? \"elementos\"}`;\n return `Grande demais: esperava que ${translateOriginWithArticle(issue.origin, \"definite\")} fosse ${adj} ${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Pequeno demais: esperava que ${translateOriginWithArticle(issue.origin, \"definite\")} tivesse ${adj} ${issue.minimum.toString()} ${sizing.unit ?? \"elementos\"}`;\n }\n return `Pequeno demais: esperava que ${translateOriginWithArticle(issue.origin, \"definite\")} fosse ${adj} ${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `Texto inv\u00E1lido: deve come\u00E7ar com \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `Texto inv\u00E1lido: deve terminar com \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Texto inv\u00E1lido: deve incluir \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Texto inv\u00E1lido: deve corresponder ao padr\u00E3o ${_issue.pattern}`;\n return `Formato d${FormatDictionary[_issue.format] ?? issue.format} inv\u00E1lido`;\n }\n case \"not_multiple_of\":\n return `N\u00FAmero inv\u00E1lido: deve ser m\u00FAltiplo de ${issue.divisor}`;\n case \"unrecognized_keys\": {\n const plural = issue.keys.length > 1 ? \"s\" : \"\";\n return `Chave${plural} inv\u00E1lida${plural}: ${util.joinValues(issue.keys, \", \")}`;\n }\n case \"invalid_key\":\n return `Entrada inv\u00E1lida n${translateOriginWithArticle(issue.origin, \"definite\")}`;\n case \"invalid_union\":\n if (issue.options && Array.isArray(issue.options) && issue.options.length > 0) {\n const opts = issue.options.map((o) => `'${o}'`).join(\" | \");\n return `Valor de discrimina\u00E7\u00E3o inv\u00E1lido. Esperava ${opts}`;\n }\n return \"Entrada inv\u00E1lida\";\n case \"invalid_element\":\n return `Entrada inv\u00E1lida n${translateOriginWithArticle(issue.origin, \"definite\")}`;\n default:\n return `Entrada inv\u00E1lida`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"caractere\", verb: \"s\u0103 aib\u0103\" },\n file: { unit: \"octe\u021Bi\", verb: \"s\u0103 aib\u0103\" },\n array: { unit: \"elemente\", verb: \"s\u0103 aib\u0103\" },\n set: { unit: \"elemente\", verb: \"s\u0103 aib\u0103\" },\n map: { unit: \"intr\u0103ri\", verb: \"s\u0103 aib\u0103\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"intrare\",\n email: \"adres\u0103 de email\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"dat\u0103 \u0219i or\u0103 ISO\",\n date: \"dat\u0103 ISO\",\n time: \"or\u0103 ISO\",\n duration: \"durat\u0103 ISO\",\n ipv4: \"adres\u0103 IPv4\",\n ipv6: \"adres\u0103 IPv6\",\n mac: \"adres\u0103 MAC\",\n cidrv4: \"interval IPv4\",\n cidrv6: \"interval IPv6\",\n base64: \"\u0219ir codat base64\",\n base64url: \"\u0219ir codat base64url\",\n json_string: \"\u0219ir JSON\",\n e164: \"num\u0103r E.164\",\n credit_card: \"num\u0103r de card de credit\",\n currency_code: \"cod valutar\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"intrare\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n string: \"\u0219ir\",\n number: \"num\u0103r\",\n boolean: \"boolean\",\n function: \"func\u021Bie\",\n array: \"matrice\",\n object: \"obiect\",\n undefined: \"nedefinit\",\n symbol: \"simbol\",\n bigint: \"num\u0103r mare\",\n void: \"void\",\n never: \"never\",\n map: \"hart\u0103\",\n set: \"set\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n return `Intrare invalid\u0103: a\u0219teptat ${expected}, primit ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Intrare invalid\u0103: a\u0219teptat ${util.stringifyPrimitive(issue.values[0])}`;\n return `Op\u021Biune invalid\u0103: a\u0219teptat una dintre ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Prea mare: a\u0219teptat ca ${issue.origin ?? \"valoarea\"} ${sizing.verb} ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elemente\"}`;\n return `Prea mare: a\u0219teptat ca ${issue.origin ?? \"valoarea\"} s\u0103 fie ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Prea mic: a\u0219teptat ca ${issue.origin} ${sizing.verb} ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Prea mic: a\u0219teptat ca ${issue.origin} s\u0103 fie ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `\u0218ir invalid: trebuie s\u0103 \u00EEnceap\u0103 cu \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `\u0218ir invalid: trebuie s\u0103 se termine cu \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `\u0218ir invalid: trebuie s\u0103 includ\u0103 \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `\u0218ir invalid: trebuie s\u0103 se potriveasc\u0103 cu modelul ${_issue.pattern}`;\n return `Format invalid: ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Num\u0103r invalid: trebuie s\u0103 fie multiplu de ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Chei nerecunoscute: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Cheie invalid\u0103 \u00EEn ${issue.origin}`;\n case \"invalid_union\":\n return \"Intrare invalid\u0103\";\n case \"invalid_element\":\n return `Valoare invalid\u0103 \u00EEn ${issue.origin}`;\n default:\n return `Intrare invalid\u0103`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nfunction getRussianPlural(count, one, few, many) {\n const absCount = Math.abs(count);\n const lastDigit = absCount % 10;\n const lastTwoDigits = absCount % 100;\n if (lastTwoDigits >= 11 && lastTwoDigits <= 19) {\n return many;\n }\n if (lastDigit === 1) {\n return one;\n }\n if (lastDigit >= 2 && lastDigit <= 4) {\n return few;\n }\n return many;\n}\nconst error = () => {\n const Sizable = {\n string: {\n unit: {\n one: \"\u0441\u0438\u043C\u0432\u043E\u043B\",\n few: \"\u0441\u0438\u043C\u0432\u043E\u043B\u0430\",\n many: \"\u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432\",\n },\n verb: \"\u0438\u043C\u0435\u0442\u044C\",\n },\n file: {\n unit: {\n one: \"\u0431\u0430\u0439\u0442\",\n few: \"\u0431\u0430\u0439\u0442\u0430\",\n many: \"\u0431\u0430\u0439\u0442\",\n },\n verb: \"\u0438\u043C\u0435\u0442\u044C\",\n },\n array: {\n unit: {\n one: \"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\",\n few: \"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\",\n many: \"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432\",\n },\n verb: \"\u0438\u043C\u0435\u0442\u044C\",\n },\n set: {\n unit: {\n one: \"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\",\n few: \"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\",\n many: \"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432\",\n },\n verb: \"\u0438\u043C\u0435\u0442\u044C\",\n },\n map: {\n unit: {\n one: \"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\",\n few: \"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\",\n many: \"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432\",\n },\n verb: \"\u0438\u043C\u0435\u0442\u044C\",\n },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u0432\u0432\u043E\u0434\",\n email: \"email \u0430\u0434\u0440\u0435\u0441\",\n url: \"URL\",\n emoji: \"\u044D\u043C\u043E\u0434\u0437\u0438\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO \u0434\u0430\u0442\u0430 \u0438 \u0432\u0440\u0435\u043C\u044F\",\n date: \"ISO \u0434\u0430\u0442\u0430\",\n time: \"ISO \u0432\u0440\u0435\u043C\u044F\",\n duration: \"ISO \u0434\u043B\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C\",\n ipv4: \"IPv4 \u0430\u0434\u0440\u0435\u0441\",\n ipv6: \"IPv6 \u0430\u0434\u0440\u0435\u0441\",\n mac: \"MAC \u0430\u0434\u0440\u0435\u0441\",\n cidrv4: \"IPv4 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D\",\n cidrv6: \"IPv6 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D\",\n base64: \"\u0441\u0442\u0440\u043E\u043A\u0430 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 base64\",\n base64url: \"\u0441\u0442\u0440\u043E\u043A\u0430 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 base64url\",\n json_string: \"JSON \u0441\u0442\u0440\u043E\u043A\u0430\",\n e164: \"\u043D\u043E\u043C\u0435\u0440 E.164\",\n credit_card: \"\u043D\u043E\u043C\u0435\u0440 \u043A\u0440\u0435\u0434\u0438\u0442\u043D\u043E\u0439 \u043A\u0430\u0440\u0442\u044B\",\n currency_code: \"\u043A\u043E\u0434 \u0432\u0430\u043B\u044E\u0442\u044B\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"\u0432\u0432\u043E\u0434\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u0447\u0438\u0441\u043B\u043E\",\n array: \"\u043C\u0430\u0441\u0441\u0438\u0432\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C instanceof ${issue.expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043E ${received}`;\n }\n return `\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C ${expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043E ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0430\u0440\u0438\u0430\u043D\u0442: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0434\u043D\u043E \u0438\u0437 ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n const maxValue = Number(issue.maximum);\n const unit = getRussianPlural(maxValue, sizing.unit.one, sizing.unit.few, sizing.unit.many);\n return `\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${issue.origin ?? \"\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435\"} \u0431\u0443\u0434\u0435\u0442 \u0438\u043C\u0435\u0442\u044C ${adj}${issue.maximum.toString()} ${unit}`;\n }\n return `\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${issue.origin ?? \"\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435\"} \u0431\u0443\u0434\u0435\u0442 ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n const minValue = Number(issue.minimum);\n const unit = getRussianPlural(minValue, sizing.unit.one, sizing.unit.few, sizing.unit.many);\n return `\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u043C\u0430\u043B\u0435\u043D\u044C\u043A\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${issue.origin} \u0431\u0443\u0434\u0435\u0442 \u0438\u043C\u0435\u0442\u044C ${adj}${issue.minimum.toString()} ${unit}`;\n }\n return `\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u043C\u0430\u043B\u0435\u043D\u044C\u043A\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${issue.origin} \u0431\u0443\u0434\u0435\u0442 ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u043D\u0430\u0447\u0438\u043D\u0430\u0442\u044C\u0441\u044F \u0441 \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u0437\u0430\u043A\u0430\u043D\u0447\u0438\u0432\u0430\u0442\u044C\u0441\u044F \u043D\u0430 \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u0441\u043E\u0434\u0435\u0440\u0436\u0430\u0442\u044C \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043E\u0432\u0430\u0442\u044C \u0448\u0430\u0431\u043B\u043E\u043D\u0443 ${_issue.pattern}`;\n return `\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u041D\u0435\u0432\u0435\u0440\u043D\u043E\u0435 \u0447\u0438\u0441\u043B\u043E: \u0434\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C \u043A\u0440\u0430\u0442\u043D\u044B\u043C ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `\u041D\u0435\u0440\u0430\u0441\u043F\u043E\u0437\u043D\u0430\u043D\u043D${issue.keys.length > 1 ? \"\u044B\u0435\" : \"\u044B\u0439\"} \u043A\u043B\u044E\u0447${issue.keys.length > 1 ? \"\u0438\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u043A\u043B\u044E\u0447 \u0432 ${issue.origin}`;\n case \"invalid_union\":\n return \"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u0432\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435\";\n case \"invalid_element\":\n return `\u041D\u0435\u0432\u0435\u0440\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0432 ${issue.origin}`;\n default:\n return `\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u0432\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"znakov\", verb: \"ma\u0165\" },\n file: { unit: \"bajtov\", verb: \"ma\u0165\" },\n array: { unit: \"prvkov\", verb: \"ma\u0165\" },\n set: { unit: \"prvkov\", verb: \"ma\u0165\" },\n map: { unit: \"polo\u017Eiek\", verb: \"ma\u0165\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"regul\u00E1rny v\u00FDraz\",\n email: \"e-mailov\u00E1 adresa\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"d\u00E1tum a \u010Das vo form\u00E1te ISO\",\n date: \"d\u00E1tum vo form\u00E1te ISO\",\n time: \"\u010Das vo form\u00E1te ISO\",\n duration: \"doba trvania ISO\",\n ipv4: \"IPv4 adresa\",\n ipv6: \"IPv6 adresa\",\n mac: \"MAC adresa\",\n cidrv4: \"rozsah IPv4\",\n cidrv6: \"rozsah IPv6\",\n base64: \"re\u0165azec zak\u00F3dovan\u00FD vo form\u00E1te base64\",\n base64url: \"re\u0165azec zak\u00F3dovan\u00FD vo form\u00E1te base64url\",\n json_string: \"re\u0165azec vo form\u00E1te JSON\",\n e164: \"\u010D\u00EDslo E.164\",\n credit_card: \"\u010D\u00EDslo kreditnej karty\",\n currency_code: \"k\u00F3d meny\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"vstup\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u010D\u00EDslo\",\n string: \"re\u0165azec\",\n function: \"funkcia\",\n array: \"pole\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Neplatn\u00FD vstup: o\u010Dak\u00E1van\u00E9 instanceof ${issue.expected}, obdr\u017Ean\u00E9 ${received}`;\n }\n return `Neplatn\u00FD vstup: o\u010Dak\u00E1van\u00E9 ${expected}, obdr\u017Ean\u00E9 ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Neplatn\u00FD vstup: o\u010Dak\u00E1van\u00E9 ${util.stringifyPrimitive(issue.values[0])}`;\n return `Neplatn\u00FD vstup: o\u010Dak\u00E1van\u00E1 jedna z hodn\u00F4t ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Hodnota je pr\u00EDli\u0161 ve\u013Ek\u00E1: ${issue.origin ?? \"hodnota\"} mus\u00ED ma\u0165 ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"prvkov\"}`;\n }\n return `Hodnota je pr\u00EDli\u0161 ve\u013Ek\u00E1: ${issue.origin ?? \"hodnota\"} mus\u00ED by\u0165 ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Hodnota je pr\u00EDli\u0161 mal\u00E1: ${issue.origin ?? \"hodnota\"} mus\u00ED ma\u0165 ${adj}${issue.minimum.toString()} ${sizing.unit ?? \"prvkov\"}`;\n }\n return `Hodnota je pr\u00EDli\u0161 mal\u00E1: ${issue.origin ?? \"hodnota\"} mus\u00ED by\u0165 ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Neplatn\u00FD re\u0165azec: mus\u00ED za\u010D\u00EDna\u0165 na \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Neplatn\u00FD re\u0165azec: mus\u00ED kon\u010Di\u0165 na \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Neplatn\u00FD re\u0165azec: mus\u00ED obsahova\u0165 \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Neplatn\u00FD re\u0165azec: mus\u00ED zodpoveda\u0165 vzoru ${_issue.pattern}`;\n return `Neplatn\u00FD form\u00E1t ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Neplatn\u00E9 \u010D\u00EDslo: mus\u00ED by\u0165 n\u00E1sobkom ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Nezn\u00E1me kl\u00FA\u010De: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Neplatn\u00FD kl\u00FA\u010D v ${issue.origin}`;\n case \"invalid_union\":\n return \"Neplatn\u00FD vstup\";\n case \"invalid_element\":\n return `Neplatn\u00E1 hodnota v ${issue.origin}`;\n default:\n return `Neplatn\u00FD vstup`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"znakov\", verb: \"imeti\" },\n file: { unit: \"bajtov\", verb: \"imeti\" },\n array: { unit: \"elementov\", verb: \"imeti\" },\n set: { unit: \"elementov\", verb: \"imeti\" },\n map: { unit: \"elementov\", verb: \"imeti\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"vnos\",\n email: \"e-po\u0161tni naslov\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO datum in \u010Das\",\n date: \"ISO datum\",\n time: \"ISO \u010Das\",\n duration: \"ISO trajanje\",\n ipv4: \"IPv4 naslov\",\n ipv6: \"IPv6 naslov\",\n mac: \"MAC naslov\",\n cidrv4: \"obseg IPv4\",\n cidrv6: \"obseg IPv6\",\n base64: \"base64 kodiran niz\",\n base64url: \"base64url kodiran niz\",\n json_string: \"JSON niz\",\n e164: \"E.164 \u0161tevilka\",\n credit_card: \"\u0161tevilka kreditne kartice\",\n currency_code: \"koda valute\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"vnos\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u0161tevilo\",\n array: \"tabela\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Neveljaven vnos: pri\u010Dakovano instanceof ${issue.expected}, prejeto ${received}`;\n }\n return `Neveljaven vnos: pri\u010Dakovano ${expected}, prejeto ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Neveljaven vnos: pri\u010Dakovano ${util.stringifyPrimitive(issue.values[0])}`;\n return `Neveljavna mo\u017Enost: pri\u010Dakovano eno izmed ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Preveliko: pri\u010Dakovano, da bo ${issue.origin ?? \"vrednost\"} imelo ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elementov\"}`;\n return `Preveliko: pri\u010Dakovano, da bo ${issue.origin ?? \"vrednost\"} ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Premajhno: pri\u010Dakovano, da bo ${issue.origin} imelo ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Premajhno: pri\u010Dakovano, da bo ${issue.origin} ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `Neveljaven niz: mora se za\u010Deti z \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `Neveljaven niz: mora se kon\u010Dati z \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Neveljaven niz: mora vsebovati \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Neveljaven niz: mora ustrezati vzorcu ${_issue.pattern}`;\n return `Neveljaven ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Neveljavno \u0161tevilo: mora biti ve\u010Dkratnik ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Neprepoznan${issue.keys.length > 1 ? \"i klju\u010Di\" : \" klju\u010D\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Neveljaven klju\u010D v ${issue.origin}`;\n case \"invalid_union\":\n return \"Neveljaven vnos\";\n case \"invalid_element\":\n return `Neveljavna vrednost v ${issue.origin}`;\n default:\n return \"Neveljaven vnos\";\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"tecken\", verb: \"att ha\" },\n file: { unit: \"bytes\", verb: \"att ha\" },\n array: { unit: \"objekt\", verb: \"att inneh\u00E5lla\" },\n set: { unit: \"objekt\", verb: \"att inneh\u00E5lla\" },\n map: { unit: \"objekt\", verb: \"att inneh\u00E5lla\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"regulj\u00E4rt uttryck\",\n email: \"e-postadress\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO-datum och tid\",\n date: \"ISO-datum\",\n time: \"ISO-tid\",\n duration: \"ISO-varaktighet\",\n ipv4: \"IPv4-adress\",\n ipv6: \"IPv6-adress\",\n mac: \"MAC-adress\",\n cidrv4: \"IPv4-spektrum\",\n cidrv6: \"IPv6-spektrum\",\n base64: \"base64-kodad str\u00E4ng\",\n base64url: \"base64url-kodad str\u00E4ng\",\n json_string: \"JSON-str\u00E4ng\",\n e164: \"E.164-nummer\",\n credit_card: \"kreditkortsnummer\",\n currency_code: \"valutakod\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"mall-literal\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"antal\",\n array: \"lista\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Ogiltig inmatning: f\u00F6rv\u00E4ntat instanceof ${issue.expected}, fick ${received}`;\n }\n return `Ogiltig inmatning: f\u00F6rv\u00E4ntat ${expected}, fick ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Ogiltig inmatning: f\u00F6rv\u00E4ntat ${util.stringifyPrimitive(issue.values[0])}`;\n return `Ogiltigt val: f\u00F6rv\u00E4ntade en av ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `F\u00F6r stor(t): f\u00F6rv\u00E4ntade ${issue.origin ?? \"v\u00E4rdet\"} att ha ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"element\"}`;\n }\n return `F\u00F6r stor(t): f\u00F6rv\u00E4ntat ${issue.origin ?? \"v\u00E4rdet\"} att ha ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `F\u00F6r lite(t): f\u00F6rv\u00E4ntade ${issue.origin ?? \"v\u00E4rdet\"} att ha ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `F\u00F6r lite(t): f\u00F6rv\u00E4ntade ${issue.origin ?? \"v\u00E4rdet\"} att ha ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `Ogiltig str\u00E4ng: m\u00E5ste b\u00F6rja med \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `Ogiltig str\u00E4ng: m\u00E5ste sluta med \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Ogiltig str\u00E4ng: m\u00E5ste inneh\u00E5lla \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Ogiltig str\u00E4ng: m\u00E5ste matcha m\u00F6nstret \"${_issue.pattern}\"`;\n return `Ogiltig(t) ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Ogiltigt tal: m\u00E5ste vara en multipel av ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `${issue.keys.length > 1 ? \"Ok\u00E4nda nycklar\" : \"Ok\u00E4nd nyckel\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Ogiltig nyckel i ${issue.origin ?? \"v\u00E4rdet\"}`;\n case \"invalid_union\":\n return \"Ogiltig input\";\n case \"invalid_element\":\n return `Ogiltigt v\u00E4rde i ${issue.origin ?? \"v\u00E4rdet\"}`;\n default:\n return `Ogiltig input`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u0B8E\u0BB4\u0BC1\u0BA4\u0BCD\u0BA4\u0BC1\u0B95\u0BCD\u0B95\u0BB3\u0BCD\", verb: \"\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD\" },\n file: { unit: \"\u0BAA\u0BC8\u0B9F\u0BCD\u0B9F\u0BC1\u0B95\u0BB3\u0BCD\", verb: \"\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD\" },\n array: { unit: \"\u0B89\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD\", verb: \"\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD\" },\n set: { unit: \"\u0B89\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD\", verb: \"\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD\" },\n map: { unit: \"\u0B89\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD\", verb: \"\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1\",\n email: \"\u0BAE\u0BBF\u0BA9\u0BCD\u0BA9\u0B9E\u0BCD\u0B9A\u0BB2\u0BCD \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO \u0BA4\u0BC7\u0BA4\u0BBF \u0BA8\u0BC7\u0BB0\u0BAE\u0BCD\",\n date: \"ISO \u0BA4\u0BC7\u0BA4\u0BBF\",\n time: \"ISO \u0BA8\u0BC7\u0BB0\u0BAE\u0BCD\",\n duration: \"ISO \u0B95\u0BBE\u0BB2 \u0B85\u0BB3\u0BB5\u0BC1\",\n ipv4: \"IPv4 \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF\",\n ipv6: \"IPv6 \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF\",\n mac: \"MAC \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF\",\n cidrv4: \"IPv4 \u0BB5\u0BB0\u0BAE\u0BCD\u0BAA\u0BC1\",\n cidrv6: \"IPv6 \u0BB5\u0BB0\u0BAE\u0BCD\u0BAA\u0BC1\",\n base64: \"base64-encoded \u0B9A\u0BB0\u0BAE\u0BCD\",\n base64url: \"base64url-encoded \u0B9A\u0BB0\u0BAE\u0BCD\",\n json_string: \"JSON \u0B9A\u0BB0\u0BAE\u0BCD\",\n e164: \"E.164 \u0B8E\u0BA3\u0BCD\",\n credit_card: \"\u0B95\u0B9F\u0BA9\u0BCD \u0B85\u0B9F\u0BCD\u0B9F\u0BC8 \u0B8E\u0BA3\u0BCD\",\n currency_code: \"\u0BA8\u0BBE\u0BA3\u0BAF\u0B95\u0BCD \u0B95\u0BC1\u0BB1\u0BBF\u0BAF\u0BC0\u0B9F\u0BC1\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"input\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u0B8E\u0BA3\u0BCD\",\n array: \"\u0B85\u0BA3\u0BBF\",\n null: \"\u0BB5\u0BC6\u0BB1\u0BC1\u0BAE\u0BC8\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 instanceof ${issue.expected}, \u0BAA\u0BC6\u0BB1\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${received}`;\n }\n return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${expected}, \u0BAA\u0BC6\u0BB1\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BB5\u0BBF\u0BB0\u0BC1\u0BAA\u0BCD\u0BAA\u0BAE\u0BCD: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${util.joinValues(issue.values, \"|\")} \u0B87\u0BB2\u0BCD \u0B92\u0BA9\u0BCD\u0BB1\u0BC1`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u0BAE\u0BBF\u0B95 \u0BAA\u0BC6\u0BB0\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${issue.origin ?? \"\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1\"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"\u0B89\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD\"} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;\n }\n return `\u0BAE\u0BBF\u0B95 \u0BAA\u0BC6\u0BB0\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${issue.origin ?? \"\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1\"} ${adj}${issue.maximum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u0BAE\u0BBF\u0B95\u0B9A\u0BCD \u0B9A\u0BBF\u0BB1\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`; //\n }\n return `\u0BAE\u0BBF\u0B95\u0B9A\u0BCD \u0B9A\u0BBF\u0BB1\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${issue.origin} ${adj}${issue.minimum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: \"${_issue.prefix}\" \u0B87\u0BB2\u0BCD \u0BA4\u0BCA\u0B9F\u0B99\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;\n if (_issue.format === \"ends_with\")\n return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: \"${_issue.suffix}\" \u0B87\u0BB2\u0BCD \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0B9F\u0BC8\u0BAF \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;\n if (_issue.format === \"includes\")\n return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: \"${_issue.includes}\" \u0B90 \u0B89\u0BB3\u0BCD\u0BB3\u0B9F\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;\n if (_issue.format === \"regex\")\n return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: ${_issue.pattern} \u0BAE\u0BC1\u0BB1\u0BC8\u0BAA\u0BBE\u0B9F\u0BCD\u0B9F\u0BC1\u0B9F\u0BA9\u0BCD \u0BAA\u0BCA\u0BB0\u0BC1\u0BA8\u0BCD\u0BA4 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;\n return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B8E\u0BA3\u0BCD: ${issue.divisor} \u0B87\u0BA9\u0BCD \u0BAA\u0BB2\u0BAE\u0BBE\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;\n case \"unrecognized_keys\":\n return `\u0B85\u0B9F\u0BC8\u0BAF\u0BBE\u0BB3\u0BAE\u0BCD \u0BA4\u0BC6\u0BB0\u0BBF\u0BAF\u0BBE\u0BA4 \u0BB5\u0BBF\u0B9A\u0BC8${issue.keys.length > 1 ? \"\u0B95\u0BB3\u0BCD\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `${issue.origin} \u0B87\u0BB2\u0BCD \u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BB5\u0BBF\u0B9A\u0BC8`;\n case \"invalid_union\":\n return \"\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1\";\n case \"invalid_element\":\n return `${issue.origin} \u0B87\u0BB2\u0BCD \u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1`;\n default:\n return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n // singular units after numerals in Tajik\n const Sizable = {\n string: { unit: \"\u0430\u043B\u043E\u043C\u0430\u0442\", verb: \"\u0434\u043E\u0448\u0442\u0430 \u0431\u043E\u0448\u0430\u0434\" },\n file: { unit: \"\u0431\u0430\u0439\u0442\", verb: \"\u0434\u043E\u0448\u0442\u0430 \u0431\u043E\u0448\u0430\u0434\" },\n array: { unit: \"\u0443\u043D\u0441\u0443\u0440\", verb: \"\u0434\u043E\u0448\u0442\u0430 \u0431\u043E\u0448\u0430\u0434\" },\n set: { unit: \"\u0443\u043D\u0441\u0443\u0440\", verb: \"\u0434\u043E\u0448\u0442\u0430 \u0431\u043E\u0448\u0430\u0434\" },\n map: { unit: \"\u0441\u0430\u0431\u0442\", verb: \"\u0434\u043E\u0448\u0442\u0430 \u0431\u043E\u0448\u0430\u0434\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u0432\u0443\u0440\u0443\u0434\",\n email: \"\u0441\u0443\u0440\u043E\u0493\u0430\u0438 email\",\n url: \"URL\",\n emoji: \"\u044D\u043C\u043E\u04B7\u0438\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"\u0441\u0430\u043D\u0430\u0432\u0443 \u0432\u0430\u049B\u0442\u0438 ISO\",\n date: \"\u0441\u0430\u043D\u0430\u0438 ISO\",\n time: \"\u0432\u0430\u049B\u0442\u0438 ISO\",\n duration: \"\u0434\u0430\u0432\u043E\u043C\u043D\u043E\u043A\u0438\u0438 ISO\",\n ipv4: \"\u0441\u0443\u0440\u043E\u0493\u0430\u0438 IPv4\",\n ipv6: \"\u0441\u0443\u0440\u043E\u0493\u0430\u0438 IPv6\",\n mac: \"\u0441\u0443\u0440\u043E\u0493\u0430\u0438 MAC\",\n cidrv4: \"\u043C\u0430\u04B3\u0434\u0443\u0434\u0430\u0438 IPv4\",\n cidrv6: \"\u043C\u0430\u04B3\u0434\u0443\u0434\u0430\u0438 IPv6\",\n base64: \"\u0441\u0430\u0442\u0440\u0438 \u0434\u0430\u0440 \u0444\u043E\u0440\u043C\u0430\u0442\u0438 base64\",\n base64url: \"\u0441\u0430\u0442\u0440\u0438 \u0434\u0430\u0440 \u0444\u043E\u0440\u043C\u0430\u0442\u0438 base64url\",\n json_string: \"\u0441\u0430\u0442\u0440\u0438 JSON\",\n e164: \"\u0440\u0430\u049B\u0430\u043C\u0438 E.164\",\n credit_card: \"\u0440\u0430\u049B\u0430\u043C\u0438 \u043A\u043E\u0440\u0442\u0438 \u043A\u0440\u0435\u0434\u0438\u0442\u04E3\",\n currency_code: \"\u0440\u0430\u043C\u0437\u0438 \u0430\u0441\u044A\u043E\u0440\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"\u0432\u0443\u0440\u0443\u0434\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u0440\u0430\u049B\u0430\u043C\",\n string: \"\u0441\u0430\u0442\u0440\",\n array: \"\u043C\u0430\u0441\u0441\u0438\u0432\",\n object: \"\u043E\u0431\u044A\u0435\u043A\u0442\",\n date: \"\u0441\u0430\u043D\u0430\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n return `\u0412\u0443\u0440\u0443\u0434\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442: ${expected} \u0438\u043D\u0442\u0438\u0437\u043E\u0440 \u043C\u0435\u0440\u0430\u0444\u0442, ${received} \u0433\u0438\u0440\u0438\u0444\u0442\u0430 \u0448\u0443\u0434`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u0412\u0443\u0440\u0443\u0434\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442: ${util.stringifyPrimitive(issue.values[0])} \u0438\u043D\u0442\u0438\u0437\u043E\u0440 \u043C\u0435\u0440\u0430\u0444\u0442`;\n return `\u0418\u043D\u0442\u0438\u0445\u043E\u0431\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442: \u044F\u043A\u0435 \u0430\u0437 ${util.joinValues(issue.values, \"|\")} \u0438\u043D\u0442\u0438\u0437\u043E\u0440 \u043C\u0435\u0440\u0430\u0444\u0442`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u0425\u0435\u043B\u0435 \u043A\u0430\u043B\u043E\u043D: ${issue.origin ?? \"\u049B\u0438\u043C\u0430\u0442\"} \u0431\u043E\u044F\u0434 ${adj}${issue.maximum.toString()} ${sizing.unit} ${sizing.verb}`;\n return `\u0425\u0435\u043B\u0435 \u043A\u0430\u043B\u043E\u043D: ${issue.origin ?? \"\u049B\u0438\u043C\u0430\u0442\"} \u0431\u043E\u044F\u0434 ${adj}${issue.maximum.toString()} \u0431\u043E\u0448\u0430\u0434`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u0425\u0435\u043B\u0435 \u0445\u0443\u0440\u0434: ${issue.origin} \u0431\u043E\u044F\u0434 ${adj}${issue.minimum.toString()} ${sizing.unit} ${sizing.verb}`;\n return `\u0425\u0435\u043B\u0435 \u0445\u0443\u0440\u0434: ${issue.origin} \u0431\u043E\u044F\u0434 ${adj}${issue.minimum.toString()} \u0431\u043E\u0448\u0430\u0434`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `\u0421\u0430\u0442\u0440\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442: \u0431\u043E\u044F\u0434 \u0431\u043E \"${_issue.prefix}\" \u043E\u0493\u043E\u0437 \u0448\u0430\u0432\u0430\u0434`;\n if (_issue.format === \"ends_with\")\n return `\u0421\u0430\u0442\u0440\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442: \u0431\u043E\u044F\u0434 \u0431\u043E \"${_issue.suffix}\" \u0430\u043D\u04B7\u043E\u043C \u0451\u0431\u0430\u0434`;\n if (_issue.format === \"includes\")\n return `\u0421\u0430\u0442\u0440\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442: \u0431\u043E\u044F\u0434 \"${_issue.includes}\"-\u0440\u043E \u0434\u0430\u0440 \u0431\u0430\u0440 \u0433\u0438\u0440\u0430\u0434`;\n if (_issue.format === \"regex\")\n return `\u0421\u0430\u0442\u0440\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442: \u0431\u043E\u044F\u0434 \u0431\u0430 \u043D\u0430\u043C\u0443\u043D\u0430\u0438 ${_issue.pattern} \u043C\u0443\u0432\u043E\u0444\u0438\u049B\u0430\u0442 \u043A\u0443\u043D\u0430\u0434`;\n return `${FormatDictionary[_issue.format] ?? issue.format}-\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442`;\n }\n case \"not_multiple_of\":\n return `\u0420\u0430\u049B\u0430\u043C\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442: \u0431\u043E\u044F\u0434 \u0431\u0430 ${issue.divisor} \u0431\u0435 \u0431\u0430\u049B\u0438\u044F \u0442\u0430\u049B\u0441\u0438\u043C \u0448\u0430\u0432\u0430\u0434`;\n case \"unrecognized_keys\":\n return `\u041A\u0430\u043B\u0438\u0434${issue.keys.length > 1 ? \"\u04B3\u043E\u0438\" : \"\u0438\"} \u043D\u043E\u043C\u0430\u044A\u043B\u0443\u043C: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `\u041A\u0430\u043B\u0438\u0434\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442 \u0434\u0430\u0440 ${issue.origin}`;\n case \"invalid_union\":\n if (issue.options && Array.isArray(issue.options) && issue.options.length > 0) {\n const opts = issue.options.map((o) => `'${o}'`).join(\" | \");\n return `\u049A\u0438\u043C\u0430\u0442\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442\u0438 \u0434\u0438\u0441\u043A\u0440\u0438\u043C\u0438\u043D\u0430\u0442\u043E\u0440: ${opts} \u0438\u043D\u0442\u0438\u0437\u043E\u0440 \u043C\u0435\u0440\u0430\u0444\u0442`;\n }\n return \"\u0412\u0443\u0440\u0443\u0434\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442\";\n case \"invalid_element\":\n return `\u049A\u0438\u043C\u0430\u0442\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442 \u0434\u0430\u0440 ${issue.origin}`;\n default:\n return `\u0412\u0443\u0440\u0443\u0434\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u0E15\u0E31\u0E27\u0E2D\u0E31\u0E01\u0E29\u0E23\", verb: \"\u0E04\u0E27\u0E23\u0E21\u0E35\" },\n file: { unit: \"\u0E44\u0E1A\u0E15\u0E4C\", verb: \"\u0E04\u0E27\u0E23\u0E21\u0E35\" },\n array: { unit: \"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\", verb: \"\u0E04\u0E27\u0E23\u0E21\u0E35\" },\n set: { unit: \"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\", verb: \"\u0E04\u0E27\u0E23\u0E21\u0E35\" },\n map: { unit: \"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\", verb: \"\u0E04\u0E27\u0E23\u0E21\u0E35\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E17\u0E35\u0E48\u0E1B\u0E49\u0E2D\u0E19\",\n email: \"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48\u0E2D\u0E35\u0E40\u0E21\u0E25\",\n url: \"URL\",\n emoji: \"\u0E2D\u0E34\u0E42\u0E21\u0E08\u0E34\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO\",\n date: \"\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E41\u0E1A\u0E1A ISO\",\n time: \"\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO\",\n duration: \"\u0E0A\u0E48\u0E27\u0E07\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO\",\n ipv4: \"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48 IPv4\",\n ipv6: \"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48 IPv6\",\n mac: \"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48 MAC\",\n cidrv4: \"\u0E0A\u0E48\u0E27\u0E07 IP \u0E41\u0E1A\u0E1A IPv4\",\n cidrv6: \"\u0E0A\u0E48\u0E27\u0E07 IP \u0E41\u0E1A\u0E1A IPv6\",\n base64: \"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A Base64\",\n base64url: \"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A Base64 \u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A URL\",\n json_string: \"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A JSON\",\n e164: \"\u0E40\u0E1A\u0E2D\u0E23\u0E4C\u0E42\u0E17\u0E23\u0E28\u0E31\u0E1E\u0E17\u0E4C\u0E23\u0E30\u0E2B\u0E27\u0E48\u0E32\u0E07\u0E1B\u0E23\u0E30\u0E40\u0E17\u0E28 (E.164)\",\n credit_card: \"\u0E2B\u0E21\u0E32\u0E22\u0E40\u0E25\u0E02\u0E1A\u0E31\u0E15\u0E23\u0E40\u0E04\u0E23\u0E14\u0E34\u0E15\",\n currency_code: \"\u0E23\u0E2B\u0E31\u0E2A\u0E2A\u0E01\u0E38\u0E25\u0E40\u0E07\u0E34\u0E19\",\n iban: \"IBAN\",\n jwt: \"\u0E42\u0E17\u0E40\u0E04\u0E19 JWT\",\n template_literal: \"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E17\u0E35\u0E48\u0E1B\u0E49\u0E2D\u0E19\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02\",\n array: \"\u0E2D\u0E32\u0E23\u0E4C\u0E40\u0E23\u0E22\u0E4C (Array)\",\n null: \"\u0E44\u0E21\u0E48\u0E21\u0E35\u0E04\u0E48\u0E32 (null)\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19 instanceof ${issue.expected} \u0E41\u0E15\u0E48\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A ${received}`;\n }\n return `\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19 ${expected} \u0E41\u0E15\u0E48\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u0E04\u0E48\u0E32\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19 ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u0E15\u0E31\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19\u0E2B\u0E19\u0E36\u0E48\u0E07\u0E43\u0E19 ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"\u0E44\u0E21\u0E48\u0E40\u0E01\u0E34\u0E19\" : \"\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u0E40\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14: ${issue.origin ?? \"\u0E04\u0E48\u0E32\"} \u0E04\u0E27\u0E23\u0E21\u0E35${adj} ${issue.maximum.toString()} ${sizing.unit ?? \"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\"}`;\n return `\u0E40\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14: ${issue.origin ?? \"\u0E04\u0E48\u0E32\"} \u0E04\u0E27\u0E23\u0E21\u0E35${adj} ${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \"\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E19\u0E49\u0E2D\u0E22\" : \"\u0E21\u0E32\u0E01\u0E01\u0E27\u0E48\u0E32\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${issue.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${adj} ${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${issue.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${adj} ${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E15\u0E49\u0E2D\u0E07\u0E02\u0E36\u0E49\u0E19\u0E15\u0E49\u0E19\u0E14\u0E49\u0E27\u0E22 \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E15\u0E49\u0E2D\u0E07\u0E25\u0E07\u0E17\u0E49\u0E32\u0E22\u0E14\u0E49\u0E27\u0E22 \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E15\u0E49\u0E2D\u0E07\u0E21\u0E35 \"${_issue.includes}\" \u0E2D\u0E22\u0E39\u0E48\u0E43\u0E19\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21`;\n if (_issue.format === \"regex\")\n return `\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E15\u0E49\u0E2D\u0E07\u0E15\u0E23\u0E07\u0E01\u0E31\u0E1A\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E17\u0E35\u0E48\u0E01\u0E33\u0E2B\u0E19\u0E14 ${_issue.pattern}`;\n return `\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E15\u0E49\u0E2D\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E08\u0E33\u0E19\u0E27\u0E19\u0E17\u0E35\u0E48\u0E2B\u0E32\u0E23\u0E14\u0E49\u0E27\u0E22 ${issue.divisor} \u0E44\u0E14\u0E49\u0E25\u0E07\u0E15\u0E31\u0E27`;\n case \"unrecognized_keys\":\n return `\u0E1E\u0E1A\u0E04\u0E35\u0E22\u0E4C\u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E23\u0E39\u0E49\u0E08\u0E31\u0E01: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `\u0E04\u0E35\u0E22\u0E4C\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E19 ${issue.origin}`;\n case \"invalid_union\":\n return \"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E44\u0E21\u0E48\u0E15\u0E23\u0E07\u0E01\u0E31\u0E1A\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E22\u0E39\u0E40\u0E19\u0E35\u0E22\u0E19\u0E17\u0E35\u0E48\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E44\u0E27\u0E49\";\n case \"invalid_element\":\n return `\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E19 ${issue.origin}`;\n default:\n return `\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"simwol\", verb: \"bolmaly\" },\n file: { unit: \"ba\u00FDt\", verb: \"bolmaly\" },\n array: { unit: \"elementler\", verb: \"bolmaly\" },\n set: { unit: \"elementler\", verb: \"bolmaly\" },\n map: { unit: \"elementler\", verb: \"bolmaly\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"giri\u015F\",\n email: \"e-po\u00E7ta salgysy\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO sene we wagt\",\n date: \"ISO sene\",\n time: \"ISO wagt\",\n duration: \"ISO wagt aralygy\",\n ipv4: \"IPv4 salgysy\",\n ipv6: \"IPv6 salgysy\",\n mac: \"MAC salgysy\",\n cidrv4: \"IPv4 aralygy\",\n cidrv6: \"IPv6 aralygy\",\n base64: \"base64 bilen \u015Fifrlenen setir\",\n base64url: \"base64url bilen \u015Fifrlenen setir\",\n json_string: \"JSON setiri\",\n e164: \"E.164 nomeri\",\n credit_card: \"kredit kartyny\u0148 nomeri\",\n currency_code: \"wal\u00FDuta kody\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"\u015Fablon\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n return `N\u00E4dogry baha: gara\u015Fylan ${expected} \u00FDerine ${received} alyndy`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `N\u00E4dogry baha: ${util.stringifyPrimitive(issue.values[0])} bolmaly`;\n return `N\u00E4dogry sa\u00FDlaw: a\u015Fakdakylardan biri bolmaly: ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Has uly: gara\u015Fyl\u00FDan ${issue.origin ?? \"baha\"} ${adj} ${issue.maximum.toString()} ${sizing.unit ?? \"element\"}`;\n return `Has uly: gara\u015Fyl\u00FDan ${issue.origin ?? \"baha\"} ${adj} ${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Has ki\u00E7i: gara\u015Fyl\u00FDan ${issue.origin} ${adj} ${issue.minimum.toString()} ${sizing.unit}`;\n return `Has ki\u00E7i: gara\u015Fyl\u00FDan ${issue.origin} ${adj} ${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `N\u00E4dogry setir: \"${_issue.prefix}\" bilen ba\u015Flamaly`;\n if (_issue.format === \"ends_with\")\n return `N\u00E4dogry setir: \"${_issue.suffix}\" bilen gutarmaly`;\n if (_issue.format === \"includes\")\n return `N\u00E4dogry setir: \"${_issue.includes}\" saklamaly`;\n if (_issue.format === \"regex\")\n return `N\u00E4dogry setir: ${_issue.pattern} nusga la\u00FDyk bolmaly`;\n return `N\u00E4dogry ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `N\u00E4dogry san: ${issue.divisor} bilen galyndysyz b\u00F6l\u00FCnmeli`;\n case \"unrecognized_keys\":\n return `Tanalma\u00FDan a\u00E7ar${issue.keys.length > 1 ? \"lar\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `${issue.origin} i\u00E7inde n\u00E4dogry a\u00E7ar`;\n case \"invalid_union\":\n return \"N\u00E4dogry baha\";\n case \"invalid_element\":\n return `${issue.origin} i\u00E7inde n\u00E4dogry baha`;\n default:\n return `N\u00E4dogry baha`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"karakter\", verb: \"olmal\u0131\" },\n file: { unit: \"bayt\", verb: \"olmal\u0131\" },\n array: { unit: \"\u00F6\u011Fe\", verb: \"olmal\u0131\" },\n set: { unit: \"\u00F6\u011Fe\", verb: \"olmal\u0131\" },\n map: { unit: \"\u00F6\u011Fe\", verb: \"olmal\u0131\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"girdi\",\n email: \"e-posta adresi\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO tarih ve saat\",\n date: \"ISO tarih\",\n time: \"ISO saat\",\n duration: \"ISO s\u00FCre\",\n ipv4: \"IPv4 adresi\",\n ipv6: \"IPv6 adresi\",\n mac: \"MAC adresi\",\n cidrv4: \"IPv4 aral\u0131\u011F\u0131\",\n cidrv6: \"IPv6 aral\u0131\u011F\u0131\",\n base64: \"base64 ile \u015Fifrelenmi\u015F metin\",\n base64url: \"base64url ile \u015Fifrelenmi\u015F metin\",\n json_string: \"JSON dizesi\",\n e164: \"E.164 say\u0131s\u0131\",\n credit_card: \"kredi kart\u0131 numaras\u0131\",\n currency_code: \"para birimi kodu\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"\u015Eablon dizesi\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Ge\u00E7ersiz de\u011Fer: beklenen instanceof ${issue.expected}, al\u0131nan ${received}`;\n }\n return `Ge\u00E7ersiz de\u011Fer: beklenen ${expected}, al\u0131nan ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Ge\u00E7ersiz de\u011Fer: beklenen ${util.stringifyPrimitive(issue.values[0])}`;\n return `Ge\u00E7ersiz se\u00E7enek: a\u015Fa\u011F\u0131dakilerden biri olmal\u0131: ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u00C7ok b\u00FCy\u00FCk: beklenen ${issue.origin ?? \"de\u011Fer\"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"\u00F6\u011Fe\"}`;\n return `\u00C7ok b\u00FCy\u00FCk: beklenen ${issue.origin ?? \"de\u011Fer\"} ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u00C7ok k\u00FC\u00E7\u00FCk: beklenen ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n return `\u00C7ok k\u00FC\u00E7\u00FCk: beklenen ${issue.origin} ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Ge\u00E7ersiz metin: \"${_issue.prefix}\" ile ba\u015Flamal\u0131`;\n if (_issue.format === \"ends_with\")\n return `Ge\u00E7ersiz metin: \"${_issue.suffix}\" ile bitmeli`;\n if (_issue.format === \"includes\")\n return `Ge\u00E7ersiz metin: \"${_issue.includes}\" i\u00E7ermeli`;\n if (_issue.format === \"regex\")\n return `Ge\u00E7ersiz metin: ${_issue.pattern} desenine uymal\u0131`;\n return `Ge\u00E7ersiz ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Ge\u00E7ersiz say\u0131: ${issue.divisor} ile tam b\u00F6l\u00FCnebilmeli`;\n case \"unrecognized_keys\":\n return `Tan\u0131nmayan anahtar${issue.keys.length > 1 ? \"lar\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `${issue.origin} i\u00E7inde ge\u00E7ersiz anahtar`;\n case \"invalid_union\":\n return \"Ge\u00E7ersiz de\u011Fer\";\n case \"invalid_element\":\n return `${issue.origin} i\u00E7inde ge\u00E7ersiz de\u011Fer`;\n default:\n return `Ge\u00E7ersiz de\u011Fer`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u0441\u0438\u043C\u0432\u043E\u043B\u0456\u0432\", verb: \"\u043C\u0430\u0442\u0438\u043C\u0435\" },\n file: { unit: \"\u0431\u0430\u0439\u0442\u0456\u0432\", verb: \"\u043C\u0430\u0442\u0438\u043C\u0435\" },\n array: { unit: \"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432\", verb: \"\u043C\u0430\u0442\u0438\u043C\u0435\" },\n set: { unit: \"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432\", verb: \"\u043C\u0430\u0442\u0438\u043C\u0435\" },\n map: { unit: \"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432\", verb: \"\u043C\u0430\u0442\u0438\u043C\u0435\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456\",\n email: \"\u0430\u0434\u0440\u0435\u0441\u0430 \u0435\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0457 \u043F\u043E\u0448\u0442\u0438\",\n url: \"URL\",\n emoji: \"\u0435\u043C\u043E\u0434\u0437\u0456\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"\u0434\u0430\u0442\u0430 \u0442\u0430 \u0447\u0430\u0441 ISO\",\n date: \"\u0434\u0430\u0442\u0430 ISO\",\n time: \"\u0447\u0430\u0441 ISO\",\n duration: \"\u0442\u0440\u0438\u0432\u0430\u043B\u0456\u0441\u0442\u044C ISO\",\n ipv4: \"\u0430\u0434\u0440\u0435\u0441\u0430 IPv4\",\n ipv6: \"\u0430\u0434\u0440\u0435\u0441\u0430 IPv6\",\n mac: \"\u0430\u0434\u0440\u0435\u0441\u0430 MAC\",\n cidrv4: \"\u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D IPv4\",\n cidrv6: \"\u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D IPv6\",\n base64: \"\u0440\u044F\u0434\u043E\u043A \u0443 \u043A\u043E\u0434\u0443\u0432\u0430\u043D\u043D\u0456 base64\",\n base64url: \"\u0440\u044F\u0434\u043E\u043A \u0443 \u043A\u043E\u0434\u0443\u0432\u0430\u043D\u043D\u0456 base64url\",\n json_string: \"\u0440\u044F\u0434\u043E\u043A JSON\",\n e164: \"\u043D\u043E\u043C\u0435\u0440 E.164\",\n credit_card: \"\u043D\u043E\u043C\u0435\u0440 \u043A\u0440\u0435\u0434\u0438\u0442\u043D\u043E\u0457 \u043A\u0430\u0440\u0442\u043A\u0438\",\n currency_code: \"\u043A\u043E\u0434 \u0432\u0430\u043B\u044E\u0442\u0438\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"\u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u0447\u0438\u0441\u043B\u043E\",\n array: \"\u043C\u0430\u0441\u0438\u0432\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F instanceof ${issue.expected}, \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043E ${received}`;\n }\n return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F ${expected}, \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043E ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0430 \u043E\u043F\u0446\u0456\u044F: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F \u043E\u0434\u043D\u0435 \u0437 ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${issue.origin ?? \"\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F\"} ${sizing.verb} ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432\"}`;\n return `\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${issue.origin ?? \"\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F\"} \u0431\u0443\u0434\u0435 ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${issue.origin} ${sizing.verb} ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${issue.origin} \u0431\u0443\u0434\u0435 ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u043F\u043E\u0447\u0438\u043D\u0430\u0442\u0438\u0441\u044F \u0437 \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u0437\u0430\u043A\u0456\u043D\u0447\u0443\u0432\u0430\u0442\u0438\u0441\u044F \u043D\u0430 \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u043C\u0456\u0441\u0442\u0438\u0442\u0438 \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u0432\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u0430\u0442\u0438 \u0448\u0430\u0431\u043B\u043E\u043D\u0443 ${_issue.pattern}`;\n return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0435 \u0447\u0438\u0441\u043B\u043E: \u043F\u043E\u0432\u0438\u043D\u043D\u043E \u0431\u0443\u0442\u0438 \u043A\u0440\u0430\u0442\u043D\u0438\u043C ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `\u041D\u0435\u0440\u043E\u0437\u043F\u0456\u0437\u043D\u0430\u043D\u0438\u0439 \u043A\u043B\u044E\u0447${issue.keys.length > 1 ? \"\u0456\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u043A\u043B\u044E\u0447 \u0443 ${issue.origin}`;\n case \"invalid_union\":\n return \"\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456\";\n case \"invalid_element\":\n return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0443 ${issue.origin}`;\n default:\n return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import uk from \"./uk.js\";\n/** @deprecated Use `uk` instead. */\nexport default function () {\n return uk();\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u062D\u0631\u0648\u0641\", verb: \"\u06C1\u0648\u0646\u0627\" },\n file: { unit: \"\u0628\u0627\u0626\u0679\u0633\", verb: \"\u06C1\u0648\u0646\u0627\" },\n array: { unit: \"\u0622\u0626\u0679\u0645\u0632\", verb: \"\u06C1\u0648\u0646\u0627\" },\n set: { unit: \"\u0622\u0626\u0679\u0645\u0632\", verb: \"\u06C1\u0648\u0646\u0627\" },\n map: { unit: \"\u0622\u0626\u0679\u0645\u0632\", verb: \"\u06C1\u0648\u0646\u0627\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u0627\u0646 \u067E\u0679\",\n email: \"\u0627\u06CC \u0645\u06CC\u0644 \u0627\u06CC\u0688\u0631\u06CC\u0633\",\n url: \"\u06CC\u0648 \u0622\u0631 \u0627\u06CC\u0644\",\n emoji: \"\u0627\u06CC\u0645\u0648\u062C\u06CC\",\n uuid: \"\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC\",\n uuidv4: \"\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC \u0648\u06CC 4\",\n uuidv6: \"\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC \u0648\u06CC 6\",\n nanoid: \"\u0646\u06CC\u0646\u0648 \u0622\u0626\u06CC \u0688\u06CC\",\n guid: \"\u062C\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC\",\n cuid: \"\u0633\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC\",\n cuid2: \"\u0633\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC 2\",\n ulid: \"\u06CC\u0648 \u0627\u06CC\u0644 \u0622\u0626\u06CC \u0688\u06CC\",\n xid: \"\u0627\u06CC\u06A9\u0633 \u0622\u0626\u06CC \u0688\u06CC\",\n ksuid: \"\u06A9\u06D2 \u0627\u06CC\u0633 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC\",\n datetime: \"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0688\u06CC\u0679 \u0679\u0627\u0626\u0645\",\n date: \"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u062A\u0627\u0631\u06CC\u062E\",\n time: \"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0648\u0642\u062A\",\n duration: \"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0645\u062F\u062A\",\n ipv4: \"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 4 \u0627\u06CC\u0688\u0631\u06CC\u0633\",\n ipv6: \"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 6 \u0627\u06CC\u0688\u0631\u06CC\u0633\",\n mac: \"\u0627\u06CC\u0645 \u0627\u06D2 \u0633\u06CC \u0627\u06CC\u0688\u0631\u06CC\u0633\",\n cidrv4: \"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 4 \u0631\u06CC\u0646\u062C\",\n cidrv6: \"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 6 \u0631\u06CC\u0646\u062C\",\n base64: \"\u0628\u06CC\u0633 64 \u0627\u0646 \u06A9\u0648\u0688\u0688 \u0633\u0679\u0631\u0646\u06AF\",\n base64url: \"\u0628\u06CC\u0633 64 \u06CC\u0648 \u0622\u0631 \u0627\u06CC\u0644 \u0627\u0646 \u06A9\u0648\u0688\u0688 \u0633\u0679\u0631\u0646\u06AF\",\n json_string: \"\u062C\u06D2 \u0627\u06CC\u0633 \u0627\u0648 \u0627\u06CC\u0646 \u0633\u0679\u0631\u0646\u06AF\",\n e164: \"\u0627\u06CC 164 \u0646\u0645\u0628\u0631\",\n credit_card: \"\u06A9\u0631\u06CC\u0688\u0679 \u06A9\u0627\u0631\u0688 \u0646\u0645\u0628\u0631\",\n currency_code: \"\u06A9\u0631\u0646\u0633\u06CC \u06A9\u0648\u0688\",\n iban: \"IBAN\",\n jwt: \"\u062C\u06D2 \u0688\u0628\u0644\u06CC\u0648 \u0679\u06CC\",\n template_literal: \"\u0627\u0646 \u067E\u0679\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u0646\u0645\u0628\u0631\",\n array: \"\u0622\u0631\u06D2\",\n null: \"\u0646\u0644\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: instanceof ${issue.expected} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627\u060C ${received} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`;\n }\n return `\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${expected} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627\u060C ${received} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${util.stringifyPrimitive(issue.values[0])} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;\n return `\u063A\u0644\u0637 \u0622\u067E\u0634\u0646: ${util.joinValues(issue.values, \"|\")} \u0645\u06CC\u06BA \u0633\u06D2 \u0627\u06CC\u06A9 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u0628\u06C1\u062A \u0628\u0691\u0627: ${issue.origin ?? \"\u0648\u06CC\u0644\u06CC\u0648\"} \u06A9\u06D2 ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"\u0639\u0646\u0627\u0635\u0631\"} \u06C1\u0648\u0646\u06D2 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u06D2`;\n return `\u0628\u06C1\u062A \u0628\u0691\u0627: ${issue.origin ?? \"\u0648\u06CC\u0644\u06CC\u0648\"} \u06A9\u0627 ${adj}${issue.maximum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u0628\u06C1\u062A \u0686\u06BE\u0648\u0679\u0627: ${issue.origin} \u06A9\u06D2 ${adj}${issue.minimum.toString()} ${sizing.unit} \u06C1\u0648\u0646\u06D2 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u06D2`;\n }\n return `\u0628\u06C1\u062A \u0686\u06BE\u0648\u0679\u0627: ${issue.origin} \u06A9\u0627 ${adj}${issue.minimum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: \"${_issue.prefix}\" \u0633\u06D2 \u0634\u0631\u0648\u0639 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;\n }\n if (_issue.format === \"ends_with\")\n return `\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: \"${_issue.suffix}\" \u067E\u0631 \u062E\u062A\u0645 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;\n if (_issue.format === \"includes\")\n return `\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: \"${_issue.includes}\" \u0634\u0627\u0645\u0644 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;\n if (_issue.format === \"regex\")\n return `\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: \u067E\u06CC\u0679\u0631\u0646 ${_issue.pattern} \u0633\u06D2 \u0645\u06CC\u0686 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;\n return `\u063A\u0644\u0637 ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u063A\u0644\u0637 \u0646\u0645\u0628\u0631: ${issue.divisor} \u06A9\u0627 \u0645\u0636\u0627\u0639\u0641 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;\n case \"unrecognized_keys\":\n return `\u063A\u06CC\u0631 \u062A\u0633\u0644\u06CC\u0645 \u0634\u062F\u06C1 \u06A9\u06CC${issue.keys.length > 1 ? \"\u0632\" : \"\"}: ${util.joinValues(issue.keys, \"\u060C \")}`;\n case \"invalid_key\":\n return `${issue.origin} \u0645\u06CC\u06BA \u063A\u0644\u0637 \u06A9\u06CC`;\n case \"invalid_union\":\n return \"\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679\";\n case \"invalid_element\":\n return `${issue.origin} \u0645\u06CC\u06BA \u063A\u0644\u0637 \u0648\u06CC\u0644\u06CC\u0648`;\n default:\n return `\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"belgi\", verb: \"bo\u2018lishi kerak\" },\n file: { unit: \"bayt\", verb: \"bo\u2018lishi kerak\" },\n array: { unit: \"element\", verb: \"bo\u2018lishi kerak\" },\n set: { unit: \"element\", verb: \"bo\u2018lishi kerak\" },\n map: { unit: \"yozuv\", verb: \"bo\u2018lishi kerak\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"kirish\",\n email: \"elektron pochta manzili\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO sana va vaqti\",\n date: \"ISO sana\",\n time: \"ISO vaqt\",\n duration: \"ISO davomiylik\",\n ipv4: \"IPv4 manzil\",\n ipv6: \"IPv6 manzil\",\n mac: \"MAC manzil\",\n cidrv4: \"IPv4 diapazon\",\n cidrv6: \"IPv6 diapazon\",\n base64: \"base64 kodlangan satr\",\n base64url: \"base64url kodlangan satr\",\n json_string: \"JSON satr\",\n e164: \"E.164 raqam\",\n credit_card: \"kredit karta raqami\",\n currency_code: \"valyuta kodi\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"kirish\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"raqam\",\n array: \"massiv\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Noto\u2018g\u2018ri kirish: kutilgan instanceof ${issue.expected}, qabul qilingan ${received}`;\n }\n return `Noto\u2018g\u2018ri kirish: kutilgan ${expected}, qabul qilingan ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Noto\u2018g\u2018ri kirish: kutilgan ${util.stringifyPrimitive(issue.values[0])}`;\n return `Noto\u2018g\u2018ri variant: quyidagilardan biri kutilgan ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Juda katta: kutilgan ${issue.origin ?? \"qiymat\"} ${adj}${issue.maximum.toString()} ${sizing.unit} ${sizing.verb}`;\n return `Juda katta: kutilgan ${issue.origin ?? \"qiymat\"} ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Juda kichik: kutilgan ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit} ${sizing.verb}`;\n }\n return `Juda kichik: kutilgan ${issue.origin} ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Noto\u2018g\u2018ri satr: \"${_issue.prefix}\" bilan boshlanishi kerak`;\n if (_issue.format === \"ends_with\")\n return `Noto\u2018g\u2018ri satr: \"${_issue.suffix}\" bilan tugashi kerak`;\n if (_issue.format === \"includes\")\n return `Noto\u2018g\u2018ri satr: \"${_issue.includes}\" ni o\u2018z ichiga olishi kerak`;\n if (_issue.format === \"regex\")\n return `Noto\u2018g\u2018ri satr: ${_issue.pattern} shabloniga mos kelishi kerak`;\n return `Noto\u2018g\u2018ri ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Noto\u2018g\u2018ri raqam: ${issue.divisor} ning karralisi bo\u2018lishi kerak`;\n case \"unrecognized_keys\":\n return `Noma\u2019lum kalit${issue.keys.length > 1 ? \"lar\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `${issue.origin} dagi kalit noto\u2018g\u2018ri`;\n case \"invalid_union\":\n return \"Noto\u2018g\u2018ri kirish\";\n case \"invalid_element\":\n return `${issue.origin} da noto\u2018g\u2018ri qiymat`;\n default:\n return `Noto\u2018g\u2018ri kirish`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"k\u00FD t\u1EF1\", verb: \"c\u00F3\" },\n file: { unit: \"byte\", verb: \"c\u00F3\" },\n array: { unit: \"ph\u1EA7n t\u1EED\", verb: \"c\u00F3\" },\n set: { unit: \"ph\u1EA7n t\u1EED\", verb: \"c\u00F3\" },\n map: { unit: \"ph\u1EA7n t\u1EED\", verb: \"c\u00F3\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u0111\u1EA7u v\u00E0o\",\n email: \"\u0111\u1ECBa ch\u1EC9 email\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ng\u00E0y gi\u1EDD ISO\",\n date: \"ng\u00E0y ISO\",\n time: \"gi\u1EDD ISO\",\n duration: \"kho\u1EA3ng th\u1EDDi gian ISO\",\n ipv4: \"\u0111\u1ECBa ch\u1EC9 IPv4\",\n ipv6: \"\u0111\u1ECBa ch\u1EC9 IPv6\",\n mac: \"\u0111\u1ECBa ch\u1EC9 MAC\",\n cidrv4: \"d\u1EA3i IPv4\",\n cidrv6: \"d\u1EA3i IPv6\",\n base64: \"chu\u1ED7i m\u00E3 h\u00F3a base64\",\n base64url: \"chu\u1ED7i m\u00E3 h\u00F3a base64url\",\n json_string: \"chu\u1ED7i JSON\",\n e164: \"s\u1ED1 E.164\",\n credit_card: \"s\u1ED1 th\u1EBB t\u00EDn d\u1EE5ng\",\n currency_code: \"m\u00E3 ti\u1EC1n t\u1EC7\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"\u0111\u1EA7u v\u00E0o\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"s\u1ED1\",\n array: \"m\u1EA3ng\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u0110\u1EA7u v\u00E0o kh\u00F4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i instanceof ${issue.expected}, nh\u1EADn \u0111\u01B0\u1EE3c ${received}`;\n }\n return `\u0110\u1EA7u v\u00E0o kh\u00F4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${expected}, nh\u1EADn \u0111\u01B0\u1EE3c ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u0110\u1EA7u v\u00E0o kh\u00F4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${util.stringifyPrimitive(issue.values[0])}`;\n return `T\u00F9y ch\u1ECDn kh\u00F4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i m\u1ED9t trong c\u00E1c gi\u00E1 tr\u1ECB ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Qu\u00E1 l\u1EDBn: mong \u0111\u1EE3i ${issue.origin ?? \"gi\u00E1 tr\u1ECB\"} ${sizing.verb} ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"ph\u1EA7n t\u1EED\"}`;\n return `Qu\u00E1 l\u1EDBn: mong \u0111\u1EE3i ${issue.origin ?? \"gi\u00E1 tr\u1ECB\"} ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Qu\u00E1 nh\u1ECF: mong \u0111\u1EE3i ${issue.origin} ${sizing.verb} ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Qu\u00E1 nh\u1ECF: mong \u0111\u1EE3i ${issue.origin} ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Chu\u1ED7i kh\u00F4ng h\u1EE3p l\u1EC7: ph\u1EA3i b\u1EAFt \u0111\u1EA7u b\u1EB1ng \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Chu\u1ED7i kh\u00F4ng h\u1EE3p l\u1EC7: ph\u1EA3i k\u1EBFt th\u00FAc b\u1EB1ng \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Chu\u1ED7i kh\u00F4ng h\u1EE3p l\u1EC7: ph\u1EA3i bao g\u1ED3m \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Chu\u1ED7i kh\u00F4ng h\u1EE3p l\u1EC7: ph\u1EA3i kh\u1EDBp v\u1EDBi m\u1EABu ${_issue.pattern}`;\n return `${FormatDictionary[_issue.format] ?? issue.format} kh\u00F4ng h\u1EE3p l\u1EC7`;\n }\n case \"not_multiple_of\":\n return `S\u1ED1 kh\u00F4ng h\u1EE3p l\u1EC7: ph\u1EA3i l\u00E0 b\u1ED9i s\u1ED1 c\u1EE7a ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Kh\u00F3a kh\u00F4ng \u0111\u01B0\u1EE3c nh\u1EADn d\u1EA1ng: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Kh\u00F3a kh\u00F4ng h\u1EE3p l\u1EC7 trong ${issue.origin}`;\n case \"invalid_union\":\n return \"\u0110\u1EA7u v\u00E0o kh\u00F4ng h\u1EE3p l\u1EC7\";\n case \"invalid_element\":\n return `Gi\u00E1 tr\u1ECB kh\u00F4ng h\u1EE3p l\u1EC7 trong ${issue.origin}`;\n default:\n return `\u0110\u1EA7u v\u00E0o kh\u00F4ng h\u1EE3p l\u1EC7`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u5B57\u7B26\", verb: \"\u5305\u542B\" },\n file: { unit: \"\u5B57\u8282\", verb: \"\u5305\u542B\" },\n array: { unit: \"\u9879\", verb: \"\u5305\u542B\" },\n set: { unit: \"\u9879\", verb: \"\u5305\u542B\" },\n map: { unit: \"\u9879\", verb: \"\u5305\u542B\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u8F93\u5165\",\n email: \"\u7535\u5B50\u90AE\u4EF6\",\n url: \"URL\",\n emoji: \"\u8868\u60C5\u7B26\u53F7\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO\u65E5\u671F\u65F6\u95F4\",\n date: \"ISO\u65E5\u671F\",\n time: \"ISO\u65F6\u95F4\",\n duration: \"ISO\u65F6\u957F\",\n ipv4: \"IPv4\u5730\u5740\",\n ipv6: \"IPv6\u5730\u5740\",\n mac: \"MAC\u5730\u5740\",\n cidrv4: \"IPv4\u7F51\u6BB5\",\n cidrv6: \"IPv6\u7F51\u6BB5\",\n base64: \"base64\u7F16\u7801\u5B57\u7B26\u4E32\",\n base64url: \"base64url\u7F16\u7801\u5B57\u7B26\u4E32\",\n json_string: \"JSON\u5B57\u7B26\u4E32\",\n e164: \"E.164\u53F7\u7801\",\n credit_card: \"\u4FE1\u7528\u5361\u53F7\",\n currency_code: \"\u8D27\u5E01\u4EE3\u7801\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"\u8F93\u5165\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u6570\u5B57\",\n array: \"\u6570\u7EC4\",\n null: \"\u7A7A\u503C(null)\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B instanceof ${issue.expected}\uFF0C\u5B9E\u9645\u63A5\u6536 ${received}`;\n }\n return `\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${expected}\uFF0C\u5B9E\u9645\u63A5\u6536 ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u65E0\u6548\u9009\u9879\uFF1A\u671F\u671B\u4EE5\u4E0B\u4E4B\u4E00 ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${issue.origin ?? \"\u503C\"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"\u4E2A\u5143\u7D20\"}`;\n return `\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${issue.origin ?? \"\u503C\"} ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${issue.origin} ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 \"${_issue.prefix}\" \u5F00\u5934`;\n if (_issue.format === \"ends_with\")\n return `\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 \"${_issue.suffix}\" \u7ED3\u5C3E`;\n if (_issue.format === \"includes\")\n return `\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u5305\u542B \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u6EE1\u8DB3\u6B63\u5219\u8868\u8FBE\u5F0F ${_issue.pattern}`;\n return `\u65E0\u6548${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u65E0\u6548\u6570\u5B57\uFF1A\u5FC5\u987B\u662F ${issue.divisor} \u7684\u500D\u6570`;\n case \"unrecognized_keys\":\n return `\u51FA\u73B0\u672A\u77E5\u7684\u952E(key): ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `${issue.origin} \u4E2D\u7684\u952E(key)\u65E0\u6548`;\n case \"invalid_union\":\n return \"\u65E0\u6548\u8F93\u5165\";\n case \"invalid_element\":\n return `${issue.origin} \u4E2D\u5305\u542B\u65E0\u6548\u503C(value)`;\n default:\n return `\u65E0\u6548\u8F93\u5165`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u5B57\u5143\", verb: \"\u64C1\u6709\" },\n file: { unit: \"\u4F4D\u5143\u7D44\", verb: \"\u64C1\u6709\" },\n array: { unit: \"\u9805\u76EE\", verb: \"\u64C1\u6709\" },\n set: { unit: \"\u9805\u76EE\", verb: \"\u64C1\u6709\" },\n map: { unit: \"\u9805\u76EE\", verb: \"\u64C1\u6709\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u8F38\u5165\",\n email: \"\u90F5\u4EF6\u5730\u5740\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO \u65E5\u671F\u6642\u9593\",\n date: \"ISO \u65E5\u671F\",\n time: \"ISO \u6642\u9593\",\n duration: \"ISO \u671F\u9593\",\n ipv4: \"IPv4 \u4F4D\u5740\",\n ipv6: \"IPv6 \u4F4D\u5740\",\n mac: \"MAC \u4F4D\u5740\",\n cidrv4: \"IPv4 \u7BC4\u570D\",\n cidrv6: \"IPv6 \u7BC4\u570D\",\n base64: \"base64 \u7DE8\u78BC\u5B57\u4E32\",\n base64url: \"base64url \u7DE8\u78BC\u5B57\u4E32\",\n json_string: \"JSON \u5B57\u4E32\",\n e164: \"E.164 \u6578\u503C\",\n credit_card: \"\u4FE1\u7528\u5361\u865F\",\n currency_code: \"\u8CA8\u5E63\u4EE3\u78BC\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"\u8F38\u5165\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA instanceof ${issue.expected}\uFF0C\u4F46\u6536\u5230 ${received}`;\n }\n return `\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${expected}\uFF0C\u4F46\u6536\u5230 ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u7121\u6548\u7684\u9078\u9805\uFF1A\u9810\u671F\u70BA\u4EE5\u4E0B\u5176\u4E2D\u4E4B\u4E00 ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${issue.origin ?? \"\u503C\"} \u61C9\u70BA ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"\u500B\u5143\u7D20\"}`;\n return `\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${issue.origin ?? \"\u503C\"} \u61C9\u70BA ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${issue.origin} \u61C9\u70BA ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${issue.origin} \u61C9\u70BA ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 \"${_issue.prefix}\" \u958B\u982D`;\n }\n if (_issue.format === \"ends_with\")\n return `\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 \"${_issue.suffix}\" \u7D50\u5C3E`;\n if (_issue.format === \"includes\")\n return `\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u5305\u542B \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u7B26\u5408\u683C\u5F0F ${_issue.pattern}`;\n return `\u7121\u6548\u7684 ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u7121\u6548\u7684\u6578\u5B57\uFF1A\u5FC5\u9808\u70BA ${issue.divisor} \u7684\u500D\u6578`;\n case \"unrecognized_keys\":\n return `\u7121\u6CD5\u8B58\u5225\u7684\u9375\u503C${issue.keys.length > 1 ? \"\u5011\" : \"\"}\uFF1A${util.joinValues(issue.keys, \"\u3001\")}`;\n case \"invalid_key\":\n return `${issue.origin} \u4E2D\u6709\u7121\u6548\u7684\u9375\u503C`;\n case \"invalid_union\":\n return \"\u7121\u6548\u7684\u8F38\u5165\u503C\";\n case \"invalid_element\":\n return `${issue.origin} \u4E2D\u6709\u7121\u6548\u7684\u503C`;\n default:\n return `\u7121\u6548\u7684\u8F38\u5165\u503C`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u00E0mi\", verb: \"n\u00ED\" },\n file: { unit: \"bytes\", verb: \"n\u00ED\" },\n array: { unit: \"nkan\", verb: \"n\u00ED\" },\n set: { unit: \"nkan\", verb: \"n\u00ED\" },\n map: { unit: \"nkan\", verb: \"n\u00ED\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u1EB9\u0300r\u1ECD \u00ECb\u00E1w\u1ECDl\u00E9\",\n email: \"\u00E0d\u00EDr\u1EB9\u0301s\u00EC \u00ECm\u1EB9\u0301l\u00EC\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"\u00E0k\u00F3k\u00F2 ISO\",\n date: \"\u1ECDj\u1ECD\u0301 ISO\",\n time: \"\u00E0k\u00F3k\u00F2 ISO\",\n duration: \"\u00E0k\u00F3k\u00F2 t\u00F3 p\u00E9 ISO\",\n ipv4: \"\u00E0d\u00EDr\u1EB9\u0301s\u00EC IPv4\",\n ipv6: \"\u00E0d\u00EDr\u1EB9\u0301s\u00EC IPv6\",\n mac: \"\u00E0d\u00EDr\u1EB9\u0301s\u00EC MAC\",\n cidrv4: \"\u00E0gb\u00E8gb\u00E8 IPv4\",\n cidrv6: \"\u00E0gb\u00E8gb\u00E8 IPv6\",\n base64: \"\u1ECD\u0300r\u1ECD\u0300 t\u00ED a k\u1ECD\u0301 n\u00ED base64\",\n base64url: \"\u1ECD\u0300r\u1ECD\u0300 base64url\",\n json_string: \"\u1ECD\u0300r\u1ECD\u0300 JSON\",\n e164: \"n\u1ECD\u0301mb\u00E0 E.164\",\n credit_card: \"n\u1ECDmba kaadi gbese\",\n currency_code: \"koodu ow\u00F3\",\n iban: \"IBAN\",\n jwt: \"JWT\",\n template_literal: \"\u1EB9\u0300r\u1ECD \u00ECb\u00E1w\u1ECDl\u00E9\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"n\u1ECD\u0301mb\u00E0\",\n array: \"akop\u1ECD\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u00CCb\u00E1w\u1ECDl\u00E9 a\u1E63\u00EC\u1E63e: a n\u00ED l\u00E1ti fi instanceof ${issue.expected}, \u00E0m\u1ECD\u0300 a r\u00ED ${received}`;\n }\n return `\u00CCb\u00E1w\u1ECDl\u00E9 a\u1E63\u00EC\u1E63e: a n\u00ED l\u00E1ti fi ${expected}, \u00E0m\u1ECD\u0300 a r\u00ED ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u00CCb\u00E1w\u1ECDl\u00E9 a\u1E63\u00EC\u1E63e: a n\u00ED l\u00E1ti fi ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u00C0\u1E63\u00E0y\u00E0n a\u1E63\u00EC\u1E63e: yan \u1ECD\u0300kan l\u00E1ra ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `T\u00F3 p\u1ECD\u0300 j\u00F9: a n\u00ED l\u00E1ti j\u1EB9\u0301 p\u00E9 ${issue.origin ?? \"iye\"} ${sizing.verb} ${adj}${issue.maximum} ${sizing.unit}`;\n return `T\u00F3 p\u1ECD\u0300 j\u00F9: a n\u00ED l\u00E1ti j\u1EB9\u0301 ${adj}${issue.maximum}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `K\u00E9r\u00E9 ju: a n\u00ED l\u00E1ti j\u1EB9\u0301 p\u00E9 ${issue.origin} ${sizing.verb} ${adj}${issue.minimum} ${sizing.unit}`;\n return `K\u00E9r\u00E9 ju: a n\u00ED l\u00E1ti j\u1EB9\u0301 ${adj}${issue.minimum}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `\u1ECC\u0300r\u1ECD\u0300 a\u1E63\u00EC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 b\u1EB9\u0300r\u1EB9\u0300 p\u1EB9\u0300l\u00FA \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `\u1ECC\u0300r\u1ECD\u0300 a\u1E63\u00EC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 par\u00ED p\u1EB9\u0300l\u00FA \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `\u1ECC\u0300r\u1ECD\u0300 a\u1E63\u00EC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 n\u00ED \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `\u1ECC\u0300r\u1ECD\u0300 a\u1E63\u00EC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 b\u00E1 \u00E0p\u1EB9\u1EB9r\u1EB9 mu ${_issue.pattern}`;\n return `A\u1E63\u00EC\u1E63e: ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `N\u1ECD\u0301mb\u00E0 a\u1E63\u00EC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 j\u1EB9\u0301 \u00E8y\u00E0 p\u00EDp\u00EDn ti ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `B\u1ECDt\u00ECn\u00EC \u00E0\u00ECm\u1ECD\u0300: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `B\u1ECDt\u00ECn\u00EC a\u1E63\u00EC\u1E63e n\u00EDn\u00FA ${issue.origin}`;\n case \"invalid_union\":\n return \"\u00CCb\u00E1w\u1ECDl\u00E9 a\u1E63\u00EC\u1E63e\";\n case \"invalid_element\":\n return `Iye a\u1E63\u00EC\u1E63e n\u00EDn\u00FA ${issue.origin}`;\n default:\n return \"\u00CCb\u00E1w\u1ECDl\u00E9 a\u1E63\u00EC\u1E63e\";\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "var _a;\nexport const $output = /*@__PURE__*/ Symbol(\"ZodOutput\");\nexport const $input = /*@__PURE__*/ Symbol(\"ZodInput\");\nexport class $ZodRegistry {\n constructor() {\n this._map = new WeakMap();\n this._idmap = new Map();\n }\n add(schema, ..._meta) {\n const meta = _meta[0];\n this._map.set(schema, meta);\n if (meta && typeof meta === \"object\" && \"id\" in meta) {\n this._idmap.set(meta.id, schema);\n }\n return this;\n }\n clear() {\n this._map = new WeakMap();\n this._idmap = new Map();\n return this;\n }\n remove(schema) {\n const meta = this._map.get(schema);\n if (meta && typeof meta === \"object\" && \"id\" in meta) {\n this._idmap.delete(meta.id);\n }\n this._map.delete(schema);\n return this;\n }\n get(schema) {\n // return this._map.get(schema) as any;\n // inherit metadata\n const p = schema._zod.parent;\n if (p) {\n const pm = { ...(this.get(p) ?? {}) };\n delete pm.id; // do not inherit id\n const f = { ...pm, ...this._map.get(schema) };\n return Object.keys(f).length ? f : undefined;\n }\n return this._map.get(schema);\n }\n has(schema) {\n return this._map.has(schema);\n }\n}\n// registries\nexport function registry() {\n return new $ZodRegistry();\n}\n(_a = globalThis).__zod_globalRegistry ?? (_a.__zod_globalRegistry = registry());\nexport const globalRegistry = globalThis.__zod_globalRegistry;\n", "import { $ZodAsyncError } from \"./core.js\";\nimport { Doc } from \"./doc.js\";\nimport { isBackEdge, isRecursiveSchema } from \"./memoizer.js\";\nimport * as regexes from \"./regexes.js\";\nimport { isValidBase64, isValidBase64URL, isValidCIDRv6, isValidCreditCard, isValidIBAN, isValidIPv6, isValidJWT, mergeValues, stripTabAndNewline, urlHostnameOk, urlProtocolOk, validateURL, } from \"./schemas.js\";\nimport * as util from \"./util.js\";\n/** @internal Sentinel the compiled fast path returns when validation fails. */\nexport const INVALID = Symbol.for(\"zod.compile.invalid\");\n// Set on the parse ctx when a compiled wrapper falls back to the runtime, so nested compiled wrappers skip their fast paths for the rest of that parse.\nconst FALLBACK_FLAG = Symbol.for(\"zod.compile.fallback\");\n/** Raised when the schema contains async refinements or transforms. Surfaces only under `compile(schema, { strict: true })`. */\nexport class ZodCompileAsyncError extends Error {\n constructor(message = \"z.compile does not support async refinements, transforms, or checks\") {\n super(message);\n this.name = \"ZodCompileAsyncError\";\n }\n}\n/**\n * Raised when the schema contains a feature whose semantics the fast path\n * can't fully model. Both the shim in `zod/compile` and the default\n * `compile()` fall back to the runtime parser for that schema; only\n * `compile(schema, { strict: true })` lets it surface.\n */\nexport class ZodCompileUnsupportedError extends Error {\n constructor(feature, islandable = true) {\n super(`z.compile does not support ${feature}; this schema must use the runtime parser`);\n this.name = \"ZodCompileUnsupportedError\";\n this.islandable = islandable;\n }\n}\n/**\n * Build the validator `validate` calls: the same codegen as the parser with the output construction\n * dropped. A schema the flag cannot express reuses the parser, which still answers correctly \u2014 it\n * just builds a value nothing reads.\n */\nfunction compileValidator(schema, parser) {\n try {\n return compileFn(schema, { assertOnly: true });\n }\n catch {\n return parser;\n }\n}\n/**\n * AOT-compile a Zod schema. Returns a clone whose `_zod.run` calls a generated\n * fast path first and falls back to the original runtime parser on failure.\n *\n * - Forward direction only. Backward (encode), async, and `skipChecks` paths\n * bypass the fast path and use the runtime directly.\n * - Never throws. A schema the fast path can't model is returned unchanged and\n * keeps using the runtime parser. Pass `{ strict: true }` to get the refusal\n * as a thrown `ZodCompileUnsupportedError` / `ZodCompileAsyncError` instead.\n * - The original schema is unchanged. The clone shares children by reference.\n */\nexport function compile(schema, options) {\n try {\n const parser = compileFn(schema);\n const clone = withParser(schema, parser);\n // withParser leaves the parser as its own validator; the generated assert-only variant is better when we have one\n clone._zod.bag.validator = compileValidator(schema, parser);\n return clone;\n }\n catch (err) {\n if (options?.strict)\n throw err;\n // a schema we can't compile still has to work, so hand it back untouched on the runtime parser \u2014 the same silent fallback global mode already does\n return schema;\n }\n}\n/**\n * Install an already-generated parser as a schema's fast path. Returns a clone; the original is\n * unchanged.\n *\n * The parser takes the input and returns the parsed value, or `INVALID` to hand the parse to the\n * runtime. It must be synchronous and forward-direction, and it must build fresh output rather than\n * return its input \u2014 Zod cannot check either, and a wrong *success* is returned to the caller as-is.\n *\n * `compile()` is the ordinary entry point. This is for a build-time or native compiler that produces\n * a parser where `new Function` is unavailable.\n */\nexport function withParser(schema, parser) {\n // generated code never receives the parse context, so only the runtime can close a reference cycle; compileFn refuses these too\n if (isRecursiveSchema(schema)) {\n throw new ZodCompileUnsupportedError(\"a schema whose subtree contains a reference cycle\");\n }\n const clone = util.clone(schema);\n // Capture the source-of-truth runtime eagerly. If schema._zod.run is itself a shim installed by global-mode (`__originalRun` set), unwrap past it. Otherwise capturing the live property lazily would let a later self- replacement of schema._zod.run feed our wrapper back into itself.\n const liveRun = schema._zod.run;\n const originalRun = liveRun.__originalRun ?? liveRun;\n // Delegate to the *original* schema's run on bypass/fallback, not the clone's. The original closed over its own `inst` at construction time, and issue payloads use that reference to derive things like the class name for `z.instanceof(Test)`; calling the clone's freshly-initialized run would push issues with `inst === clone` and diverge from the original schema's error messages.\n const wrapped = (payload, ctx) => {\n if (ctx?.async ||\n ctx?.direction === \"backward\" ||\n ctx?.skipChecks ||\n ctx?.[FALLBACK_FLAG]) {\n return originalRun(payload, ctx);\n }\n // A memoized back-edge: only the runtime can close a reference cycle, and a transform on one must raise $ZodCyclicError from its own parse.\n if (ctx && isBackEdge(ctx, payload.value)) {\n return originalRun(payload, ctx);\n }\n const out = parser(payload.value);\n if (out !== INVALID) {\n payload.value = out;\n return payload;\n }\n // Mark this parse as runtime-driven: under global mode every nested schema carries its own compiled wrapper, and without the flag the parent's runtime fallback re-enters each child's fast path, running user callbacks a third time on invalid input.\n if (ctx)\n ctx[FALLBACK_FLAG] = true;\n return originalRun(payload, ctx);\n };\n // Let later compiles of (or through) this run unwrap to the true runtime \u2014 both the global shim and repeated z.compile calls rely on this. The bag also carries the parser and the validator, so the standalone validate can skip the payload and wrapper on the happy path.\n wrapped.__originalRun = originalRun;\n clone._zod.bag.fallbackRun = originalRun;\n // a supplied parser answers `validate` too: one implementation means parse and validate cannot disagree, and its undefined `definite` keeps the runtime re-parse on every rejection\n clone._zod.bag.validator = parser;\n clone._zod.run = wrapped;\n // The fast parse/safeParse closures fall back through the source schema's methods. If the source is shim- or wrapper-managed, those methods route into a compiled run and would execute user callbacks a third time on invalid input \u2014 the plain method \u2192 wrapper path is exactly 2x, so skip.\n if (!liveRun.__originalRun)\n installCompiledUserMethods(clone, schema, parser);\n return clone;\n}\nfunction installCompiledUserMethods(target, source, parser) {\n const targetAny = target;\n const sourceAny = source;\n if (typeof sourceAny.safeParse === \"function\") {\n const originalSafeParse = sourceAny.safeParse;\n targetAny.safeParse = (data, params) => {\n const out = parser(data);\n if (out !== INVALID) {\n return { success: true, data: out };\n }\n return originalSafeParse(data, params);\n };\n }\n if (typeof sourceAny.parse === \"function\") {\n const originalParse = sourceAny.parse;\n targetAny.parse = (data, params) => {\n const out = parser(data);\n if (out !== INVALID) {\n return out;\n }\n return originalParse(data, params);\n };\n }\n}\n/**\n * @internal Generate the standalone compiled function: a parser by default, a validator under\n * `assertOnly`. Returns the parsed value, `true` where nothing reads the output, or `INVALID`. Consumers use `compile()`.\n */\nexport function compileFn(schema, options) {\n // Cycle-breaking is keyed on the parse context, which generated code never receives. `shape` can be a getter that throws (z.pick() with an unrecognized mask key), so treat \"can't tell\" as recursive.\n let recursive = true;\n try {\n recursive = isRecursiveSchema(schema);\n }\n catch { }\n if (recursive) {\n throw new ZodCompileUnsupportedError(\"a schema whose subtree contains a reference cycle\");\n }\n const ctx = {\n constants: new Map(),\n constantCounter: 0,\n varCounter: 0,\n definite: true,\n };\n const doc = new Doc([\"input\"]);\n const outputAccessor = generateCheck(doc, ctx, schema, \"input\", !options?.assertOnly);\n // In assert mode a root that built nothing has already returned INVALID on every failure, so reaching the end means valid.\n doc.write(outputAccessor === null ? `return true;` : `return ${outputAccessor};`);\n // Build the function with hoisted constants Always include INVALID as the first constant\n const constantNames = [\"INVALID\", ...ctx.constants.keys()];\n const constantValues = [INVALID, ...ctx.constants.values()];\n const code = doc.content.join(\"\\n\");\n const fullCode = options?.debug\n ? constantNames.length > 0\n ? `// Constants: ${constantNames.join(\", \")}\\n${code}`\n : code\n : \"\";\n const F = Function;\n const factoryCode = `return (input) => {\\n${code}\\n}`;\n let fn;\n try {\n const factory = new F(...constantNames, factoryCode);\n fn = factory(...constantValues);\n }\n catch (err) {\n // Malformed generated code (or a CSP environment rejecting `new Function`) surfaces as a typed error so the global shim falls back to the runtime instead of crashing with a raw SyntaxError/EvalError.\n throw new ZodCompileUnsupportedError(`this schema (generated code failed to evaluate: ${err.message})`);\n }\n if (options?.debug) {\n fn.code = fullCode;\n }\n fn.definite = ctx.definite;\n return fn;\n}\nfunction addConstant(ctx, value) {\n // Check if we already have this constant\n for (const [name, v] of ctx.constants) {\n if (v === value)\n return name;\n }\n const name = `c${ctx.constantCounter++}`;\n ctx.constants.set(name, value);\n return name;\n}\n/** Hoists a user-supplied callback. Anything the schema's author wrote can throw, and generated code can reject an earlier sibling before ever reaching it, so this clears `definite` \u2014 a rejection is then no longer proof that the interpreter would have rejected rather than thrown. */\nfunction addUserConstant(ctx, fn) {\n ctx.definite = false;\n return addConstant(ctx, fn);\n}\nfunction newVar(ctx) {\n return `v${ctx.varCounter++}`;\n}\n// Runs a child schema as a black box: its value, or INVALID for a failure or an async run.\nfunction runtimeRun(schema, value) {\n const result = schema._zod.run({ value, issues: [] }, {});\n if (result && typeof result.then === \"function\")\n return INVALID;\n const r = result;\n return r.issues.length === 0 ? r.value : INVALID;\n}\n// `null` means the node built no value because nothing reads it. The overloads keep that case out of the 20-odd callers that always want one, so only a caller passing needsValue has to handle it.\nfunction compileChild(doc, ctx, schema, accessor, needsValue = true) {\n const contentLen = doc.content.length;\n const constantCount = ctx.constants.size;\n const constantCounter = ctx.constantCounter;\n const varCounter = ctx.varCounter;\n try {\n return generateCheck(doc, ctx, schema, accessor, needsValue);\n }\n catch (err) {\n if (!(err instanceof ZodCompileUnsupportedError) || !err.islandable)\n throw err;\n doc.content.length = contentLen;\n if (ctx.constants.size > constantCount) {\n const trailing = Array.from(ctx.constants.keys()).slice(constantCount);\n for (const k of trailing)\n ctx.constants.delete(k);\n }\n ctx.constantCounter = constantCounter;\n ctx.varCounter = varCounter;\n return emitRuntimeIsland(doc, ctx, schema, accessor);\n }\n}\nfunction emitRuntimeIsland(doc, ctx, schema, accessor) {\n // an islanded child answers INVALID for an async run too, which the interpreter throws for\n ctx.definite = false;\n const schemaConst = addConstant(ctx, schema);\n const runConst = addConstant(ctx, runtimeRun);\n const outVar = newVar(ctx);\n doc.write(`const ${outVar} = ${runConst}(${schemaConst}, ${accessor});`);\n doc.write(`if (${outVar} === INVALID) return INVALID;`);\n return outVar;\n}\n// Check classes whose `when` is auto-defaulted at init (checks.ts `when ??=`).\nconst WHEN_DEFAULTED_CHECKS = new Set([\n \"max_size\",\n \"min_size\",\n \"size_equals\",\n \"max_length\",\n \"min_length\",\n \"length_equals\",\n]);\nfunction generateChecks(doc, ctx, schema, accessor) {\n const schemaChecks = schema._zod.def.checks;\n if (!schemaChecks || schemaChecks.length === 0)\n return accessor;\n // Track current accessor - may change if overwrite checks are encountered\n let currentAccessor = accessor;\n for (const check of schemaChecks) {\n const def = check._zod.def;\n // A custom `when` skips a check the fast path always runs; the one auto-defaulted on size/length classes matches its bail-on-first-failure.\n if (def.when && !WHEN_DEFAULTED_CHECKS.has(def.check)) {\n throw new ZodCompileUnsupportedError(`check with a custom \"when\" condition`);\n }\n switch (def.check) {\n case \"greater_than\":\n generateGreaterThanCheck(doc, ctx, def, currentAccessor);\n break;\n case \"less_than\":\n generateLessThanCheck(doc, ctx, def, currentAccessor);\n break;\n case \"multiple_of\":\n generateMultipleOfCheck(doc, ctx, def, currentAccessor);\n break;\n case \"number_format\":\n generateNumberFormatCheck(doc, def, currentAccessor);\n break;\n case \"min_length\": {\n const min = numericOperand(def.minimum, \"min_length\");\n const len = codePointLengthVar(doc, ctx, currentAccessor, `${currentAccessor}.length >= ${min} && ${currentAccessor}.length < ${def.minimum * 2}`);\n doc.write(`if (${len} < ${min}) return INVALID;`);\n break;\n }\n case \"max_length\": {\n const max = numericOperand(def.maximum, \"max_length\");\n const len = codePointLengthVar(doc, ctx, currentAccessor, `${currentAccessor}.length > ${max}`);\n doc.write(`if (${len} > ${max}) return INVALID;`);\n break;\n }\n case \"length_equals\": {\n const exact = numericOperand(def.length, \"length_equals\");\n const len = codePointLengthVar(doc, ctx, currentAccessor, `${currentAccessor}.length >= ${exact} && ${currentAccessor}.length <= ${def.length * 2}`);\n doc.write(`if (${len} !== ${exact}) return INVALID;`);\n break;\n }\n case \"min_size\":\n doc.write(`if (${currentAccessor}.size < ${numericOperand(def.minimum, \"min_size\")}) return INVALID;`);\n break;\n case \"max_size\":\n doc.write(`if (${currentAccessor}.size > ${numericOperand(def.maximum, \"max_size\")}) return INVALID;`);\n break;\n case \"size_equals\":\n doc.write(`if (${currentAccessor}.size !== ${numericOperand(def.size, \"size_equals\")}) return INVALID;`);\n break;\n case \"string_format\":\n currentAccessor = generateStringFormatCheck(doc, ctx, def, currentAccessor);\n break;\n case \"custom\":\n currentAccessor = generateCustomRefineCheck(doc, ctx, check, currentAccessor);\n break;\n case \"bigint_format\":\n generateBigIntFormatCheck(doc, def, currentAccessor);\n break;\n case \"mime_type\":\n generateMimeTypeCheck(doc, ctx, def, currentAccessor);\n break;\n case \"property\":\n generatePropertyCheck(doc, ctx, def, currentAccessor);\n break;\n case \"properties\":\n generatePropertiesChecks(doc, ctx, def, currentAccessor);\n break;\n case \"overwrite\": {\n // Overwrite transforms the value - create new variable for transformed result\n const newAccessor = newVar(ctx);\n generateOverwriteCheck(doc, ctx, check, currentAccessor, newAccessor);\n currentAccessor = newAccessor;\n break;\n }\n default: {\n void def;\n throw new ZodCompileUnsupportedError(`check type ${def.check}`);\n }\n }\n }\n return currentAccessor;\n}\n// Emit the length operand for a length check, mirroring `$ZodCheckMinLength` and friends: strings measure in code points, everything else in `.length`. `inDoubt` is the caller's cheap UTF-16 bound test \u2014 outside it the unit count already settles the comparison, so the scan is skipped.\nfunction codePointLengthVar(doc, ctx, accessor, inDoubt) {\n const cpLen = addConstant(ctx, util.codePointLength);\n const v = newVar(ctx);\n doc.write(`const ${v} = typeof ${accessor} === \"string\" && ${inDoubt} ? ${cpLen}(${accessor}) : ${accessor}.length;`);\n return v;\n}\n// Emit a source operand for a gt/lt bound. Numbers inline; Dates hoist as a constant (relational operators compare via valueOf). NaN and Invalid Date bounds can't compile to a comparison that matches runtime semantics.\n/**\n * A count bound reaches generated source verbatim, so a non-number would be\n * emitted as code rather than as a value \u2014 `min('0) {} evil(); if (0')` writes an\n * arbitrary statement into the function body. TypeScript types these as `number`\n * and fromJSONSchema guards them, so this is a backstop rather than a live hole,\n * but generated source is the one place a wrong type stops being a type error.\n */\nfunction numericOperand(value, label) {\n if (typeof value !== \"number\" || !Number.isFinite(value)) {\n throw new ZodCompileUnsupportedError(`${label} bound of type ${typeof value}`);\n }\n return `${value}`;\n}\nfunction comparisonOperand(ctx, value) {\n if (typeof value === \"bigint\")\n return `${value}n`;\n if (typeof value === \"number\") {\n if (Number.isNaN(value))\n throw new ZodCompileUnsupportedError(\"comparison check with NaN bound\");\n return `${value}`;\n }\n if (value instanceof Date) {\n if (Number.isNaN(value.getTime())) {\n throw new ZodCompileUnsupportedError(\"comparison check with Invalid Date bound\");\n }\n return addConstant(ctx, value);\n }\n throw new ZodCompileUnsupportedError(`comparison check bound of type ${typeof value}`);\n}\nfunction generateGreaterThanCheck(doc, ctx, def, accessor) {\n const op = def.inclusive ? \"<\" : \"<=\";\n doc.write(`if (${accessor} ${op} ${comparisonOperand(ctx, def.value)}) return INVALID;`);\n}\nfunction generateLessThanCheck(doc, ctx, def, accessor) {\n const op = def.inclusive ? \">\" : \">=\";\n doc.write(`if (${accessor} ${op} ${comparisonOperand(ctx, def.value)}) return INVALID;`);\n}\nfunction generateMultipleOfCheck(doc, ctx, def, accessor) {\n if (typeof def.value === \"bigint\") {\n // a zero divisor has no compiled form: `x % 0n` throws\n if (def.value === BigInt(0))\n throw new ZodCompileUnsupportedError(\"multiple_of check with a zero divisor\");\n doc.write(`if (${accessor} % ${def.value}n !== 0n) return INVALID;`);\n }\n else {\n // Float `%` has well-known precision issues for sub-integer steps\n // (`1.5 % 0.1`, `2.5e-7 % 1e-7`). Defer to util.floatSafeRemainder so the\n // exact tolerance logic stays in one place \u2014 single function call is fine\n // since `multipleOf` runs at most once per number.\n const remainder = addConstant(ctx, util.floatSafeRemainder);\n doc.write(`if (${remainder}(${accessor}, ${numericOperand(def.value, \"multiple_of\")}) !== 0) return INVALID;`);\n }\n}\nfunction generateNumberFormatCheck(doc, def, accessor) {\n const format = def.format;\n switch (format) {\n case \"safeint\":\n doc.write(`if (!Number.isSafeInteger(${accessor})) return INVALID;`);\n break;\n case \"int32\":\n doc.write(`if (!Number.isInteger(${accessor}) || ${accessor} < -2147483648 || ${accessor} > 2147483647) return INVALID;`);\n break;\n case \"uint32\":\n doc.write(`if (!Number.isInteger(${accessor}) || ${accessor} < 0 || ${accessor} > 4294967295) return INVALID;`);\n break;\n case \"float32\":\n // Float32 range per util.NUMBER_FORMAT_RANGES\n doc.write(`if (!Number.isFinite(${accessor}) || ${accessor} < -3.4028234663852886e38 || ${accessor} > 3.4028234663852886e38) return INVALID;`);\n break;\n case \"float64\":\n doc.write(`if (!Number.isFinite(${accessor})) return INVALID;`);\n break;\n default: {\n void format;\n throw new ZodCompileUnsupportedError(`number format ${format}`);\n }\n }\n}\nfunction generateBigIntFormatCheck(doc, def, accessor) {\n const format = def.format;\n if (!format)\n return; // undefined format means no range check\n switch (format) {\n case \"int64\":\n doc.write(`if (${accessor} < -9223372036854775808n || ${accessor} > 9223372036854775807n) return INVALID;`);\n break;\n case \"uint64\":\n doc.write(`if (${accessor} < 0n || ${accessor} > 18446744073709551615n) return INVALID;`);\n break;\n default: {\n void format;\n throw new ZodCompileUnsupportedError(`bigint format ${format}`);\n }\n }\n}\nfunction generateMimeTypeCheck(doc, ctx, def, accessor) {\n const mimeTypes = def.mime;\n if (mimeTypes && mimeTypes.length > 0) {\n const mimeSet = addConstant(ctx, new Set(mimeTypes));\n doc.write(`if (!${mimeSet}.has(${accessor}.type)) return INVALID;`);\n }\n}\n// asserts each named property in place; children compile assert-only because z.properties never rebuilds its input\nfunction generatePropertiesChecks(doc, ctx, def, accessor) {\n // a custom `when` gates the assertion at runtime; inside a union a wrongly-run branch is absorbed as a branch failure rather than falling back, so refuse at codegen\n if (def.when) {\n throw new ZodCompileUnsupportedError(`check with a custom \"when\" condition`);\n }\n // matches the runtime gate: the base schema already typed the value, so only a nullish one is rejected\n doc.write(`if (${accessor} == null) return INVALID;`);\n const shape = def.shape;\n for (const key of Reflect.ownKeys(shape)) {\n // a symbol has no source literal, so it is hoisted as a constant\n const keyExpr = typeof key === \"symbol\" ? addConstant(ctx, key) : util.esc(key);\n // cache the property read so a getter runs exactly once, matching the runtime\n const inputVar = newVar(ctx);\n doc.write(`const ${inputVar} = ${accessor}[${keyExpr}];`);\n compileChild(doc, ctx, shape[key], inputVar, false);\n }\n}\nfunction generatePropertyCheck(doc, ctx, def, accessor) {\n const propAccessor = `${accessor}[${JSON.stringify(def.property)}]`;\n generateCheck(doc, ctx, def.schema, propAccessor);\n}\nfunction generateOverwriteCheck(doc, ctx, check, currentAccessor, newAccessor) {\n const tx = check._zod.def.tx;\n if (!tx) {\n throw new ZodCompileUnsupportedError(\"overwrite check without a transform function\");\n }\n // Check for async transform\n if (isAsyncFunction(tx)) {\n throw new ZodCompileAsyncError(\"z.compile: async overwrite transforms are not supported\");\n }\n // Hoist the transform function as a constant and apply it\n const txConst = addConstant(ctx, tx);\n doc.write(`const ${newAccessor} = ${txConst}(${currentAccessor});`);\n}\n/** A predicate that hands back a thenable is an async check reached synchronously, and the interpreter throws `$ZodAsyncError` for it. Returning INVALID instead would be a bail-out, and a union reads a bail-out as a rejected branch and answers with a later one \u2014 so the throw has to survive into generated code. */\nfunction throwAsync() {\n throw new $ZodAsyncError();\n}\n/** Shared `addIssue` for the spoofed payloads a refine, check or transform receives. Allocating one per call \u2014 a fresh closure plus a `this`-bound method on a fresh literal \u2014 pinned every payload-allocating schema at ~2.7M ops/sec against 135M for a plain object literal. It captures nothing per call; it only reaches `this.issues`. */\nfunction pushIssue(issue) {\n this.issues.push(issue);\n}\nfunction generateCustomRefineCheck(doc, ctx, check, accessor) {\n const def = check._zod.def;\n if (def.fn) {\n // Simple predicate function (from .refine())\n if (isAsyncFunction(def.fn)) {\n throw new ZodCompileAsyncError(\"z.compile: async .refine() predicates are not supported\");\n }\n const fnConst = addUserConstant(ctx, def.fn);\n const throwAsyncConst = addConstant(ctx, throwAsync);\n const resVar = newVar(ctx);\n doc.write(`const ${resVar} = ${fnConst}(${accessor});`);\n // A thenable is truthy, so it would otherwise read as a pass. It is not a rejection either: the interpreter throws, and INVALID inside a union would just hand the parse to the next branch.\n doc.write(`if (${resVar} instanceof Promise) ${throwAsyncConst}();`);\n doc.write(`if (!${resVar}) return INVALID;`);\n // A `.refine()` predicate only answers yes or no; it cannot rewrite the value.\n return accessor;\n }\n if (check._zod.check) {\n if (isAsyncFunction(check._zod.check)) {\n throw new ZodCompileAsyncError(\"z.compile: async .superRefine() / check functions are not supported\");\n }\n // SuperRefine or other check function - need to spoof context Create a helper that runs the check and returns true if no issues\n const checkFn = check._zod.check;\n // `$RefinementCtx` extends the parse payload, so a check may rewrite\n // `ctx.value` as well as push issues \u2014 `.superRefine((v, ctx) => { ctx.value =\n // v.trim() })` is a value transform. Returning only a boolean discarded that\n // write and emitted the untrimmed input. Hand the value back and thread it on.\n const helperFn = (value) => {\n const fakePayload = { value, issues: [], addIssue: pushIssue };\n const result = checkFn(fakePayload);\n // Throw rather than return INVALID: the interpreter throws here, and a union would read INVALID as a rejected branch.\n if (result instanceof Promise)\n throwAsync();\n return fakePayload.issues.length === 0 ? fakePayload.value : INVALID;\n };\n const helperConst = addUserConstant(ctx, helperFn);\n const outVar = newVar(ctx);\n doc.write(`const ${outVar} = ${helperConst}(${accessor});`);\n doc.write(`if (${outVar} === INVALID) return INVALID;`);\n return outVar;\n }\n throw new ZodCompileUnsupportedError(\"custom check without a predicate or check function\");\n}\n/**\n * Built-in formats that validate with nothing but `def.pattern`, so compiling\n * the regex reproduces the runtime exactly. Deliberately an allowlist: a format\n * missing from it loses its fast path, while a format wrongly added to it\n * silently accepts input the runtime rejects. Formats that layer extra\n * validation over a shape-only pattern (`credit_card`, `base64`, `ipv6`, \u2026) are\n * handled above by hoisting the runtime validator itself.\n */\nconst PATTERN_IS_COMPLETE = new Set([\n \"cidrv4\",\n \"cuid\",\n \"cuid2\",\n \"date\",\n \"datetime\",\n \"duration\",\n \"e164\",\n \"email\",\n \"emoji\",\n \"ends_with\",\n \"guid\",\n \"includes\",\n \"ipv4\",\n \"ksuid\",\n \"lowercase\",\n \"mac\",\n \"nanoid\",\n \"regex\",\n \"starts_with\",\n \"time\",\n \"ulid\",\n \"uppercase\",\n \"uuid\",\n \"xid\",\n]);\nfunction generateStringFormatCheck(doc, ctx, def, accessor, needsValue = true) {\n // Some string formats do runtime validation beyond their advertised pattern. For cheap pure utility checks, hoist the runtime function and call it so the fast path stays correct without cloning the utility logic into codegen.\n const fmt = def.format;\n if (fmt === \"base64\") {\n const validator = addConstant(ctx, isValidBase64);\n doc.write(`if (!${validator}(${accessor})) return INVALID;`);\n return accessor;\n }\n if (fmt === \"base64url\") {\n const validator = addConstant(ctx, isValidBase64URL);\n doc.write(`if (!${validator}(${accessor})) return INVALID;`);\n return accessor;\n }\n if (fmt === \"jwt\") {\n const validator = addConstant(ctx, isValidJWT);\n const alg = addConstant(ctx, def.alg ?? null);\n doc.write(`if (!${validator}(${accessor}, ${alg})) return INVALID;`);\n return accessor;\n }\n if (fmt === \"ipv6\") {\n const validator = addConstant(ctx, isValidIPv6);\n doc.write(`if (!${validator}(${accessor})) return INVALID;`);\n return accessor;\n }\n if (fmt === \"cidrv6\") {\n const validator = addConstant(ctx, isValidCIDRv6);\n doc.write(`if (!${validator}(${accessor})) return INVALID;`);\n return accessor;\n }\n if (fmt === \"credit_card\") {\n const validator = addConstant(ctx, isValidCreditCard);\n doc.write(`if (!${validator}(${accessor})) return INVALID;`);\n return accessor;\n }\n if (fmt === \"iban\") {\n const validator = addConstant(ctx, isValidIBAN);\n doc.write(`if (!${validator}(${accessor})) return INVALID;`);\n return accessor;\n }\n const formatDef = def;\n if (fmt === \"url\" ||\n fmt === \"httpurl\" ||\n formatDef.normalize ||\n formatDef.hostname !== undefined ||\n formatDef.protocol !== undefined) {\n // Same three predicates the runtime calls, in the same order, so there is no second URL implementation to drift. Which options exist is known now, so the calls the runtime makes conditionally are emitted conditionally instead.\n const parseConst = addConstant(ctx, validateURL);\n const defConst = addConstant(ctx, def);\n const trimVar = newVar(ctx);\n const urlVar = newVar(ctx);\n doc.write(`const ${trimVar} = ${accessor}.trim();`);\n doc.write(`const ${urlVar} = ${parseConst}(${trimVar}, ${defConst});`);\n doc.write(`if (typeof ${urlVar} === \"number\") return INVALID;`);\n if (formatDef.hostname !== undefined) {\n const hostnameConst = addConstant(ctx, urlHostnameOk);\n doc.write(`if (!${hostnameConst}(${urlVar}, ${defConst}.hostname)) return INVALID;`);\n }\n if (formatDef.protocol !== undefined) {\n const protocolConst = addConstant(ctx, urlProtocolOk);\n doc.write(`if (!${protocolConst}(${urlVar}, ${defConst}.protocol)) return INVALID;`);\n }\n if (!needsValue)\n return null;\n const outputVar = newVar(ctx);\n const outputExpr = formatDef.normalize ? `${urlVar}.href` : `${addConstant(ctx, stripTabAndNewline)}(${trimVar})`;\n doc.write(`const ${outputVar} = ${outputExpr};`);\n return outputVar;\n }\n // A custom string format carries the predicate the runtime actually calls. Hoist and call it instead of testing `def.pattern`: the two only coincide when the format was built from a RegExp, and relying on that coupling is how supplemental validation gets dropped.\n const customFn = def.fn;\n if (customFn) {\n if (isAsyncFunction(customFn))\n throw new ZodCompileUnsupportedError(`async string format ${fmt}`);\n const fnConst = addConstant(ctx, customFn);\n doc.write(`if (!${fnConst}(${accessor})) return INVALID;`);\n return accessor;\n }\n // Formats whose `pattern` IS the whole check. An allowlist rather than `if (def.pattern)`, because credit_card, base64 and ipv6 carry a shape-only pattern and validate the rest separately.\n if (PATTERN_IS_COMPLETE.has(fmt) && def.pattern) {\n const patternConst = addConstant(ctx, def.pattern);\n doc.write(`${patternConst}.lastIndex = 0;`);\n doc.write(`if (!${patternConst}.test(${accessor})) return INVALID;`);\n return accessor;\n }\n const format = def.format;\n switch (format) {\n case \"regex\":\n // A regex check with a pattern returned above. Reaching here means there is no pattern to test, and accepting unconditionally would pass every input, so hand the schema back to the runtime.\n throw new ZodCompileUnsupportedError(\"regex format without a pattern\");\n case \"lowercase\":\n doc.write(`if (${accessor} !== ${accessor}.toLowerCase()) return INVALID;`);\n break;\n case \"uppercase\":\n doc.write(`if (${accessor} !== ${accessor}.toUpperCase()) return INVALID;`);\n break;\n case \"includes\":\n doc.write(`if (!${accessor}.includes(${util.esc(def.includes)})) return INVALID;`);\n break;\n case \"starts_with\": {\n const prefix = def.prefix;\n doc.write(`if (${accessor}.slice(0, ${prefix.length}) !== ${util.esc(prefix)}) return INVALID;`);\n break;\n }\n case \"ends_with\": {\n const suffix = def.suffix;\n doc.write(`if (${accessor}.slice(-${suffix.length}) !== ${util.esc(suffix)}) return INVALID;`);\n break;\n }\n default: {\n void format;\n throw new ZodCompileUnsupportedError(`string format ${format}`);\n }\n }\n return accessor;\n}\nfunction generateCheck(doc, ctx, schema, accessor, needsValue = true) {\n const def = schema._zod.def;\n const type = def.type;\n // A coercing schema would compile to the bare type test and reject what it should convert; inside a union that reads as a rejected branch, so refuse at codegen.\n if (def.coerce) {\n throw new ZodCompileUnsupportedError(`coercion (z.coerce.${type}())`);\n }\n // A node builds its output when its caller reads one, or when it carries checks of its own, since a check reads what was built. One polarity for the whole walk: this is what the node does, and it is what its children are told they need.\n const buildsValue = needsValue || !!def.checks?.length;\n let typeAccessor;\n switch (type) {\n case \"string\":\n typeAccessor = generateStringCheck(doc, ctx, schema, accessor, buildsValue);\n break;\n case \"number\":\n typeAccessor = generateNumberCheck(doc, schema, accessor);\n break;\n case \"boolean\":\n typeAccessor = generateBooleanCheck(doc, accessor);\n break;\n case \"bigint\":\n typeAccessor = generateBigIntCheck(doc, schema, accessor);\n break;\n case \"symbol\":\n typeAccessor = generateSymbolCheck(doc, accessor);\n break;\n case \"undefined\":\n typeAccessor = generateUndefinedCheck(doc, accessor);\n break;\n case \"null\":\n typeAccessor = generateNullCheck(doc, accessor);\n break;\n case \"any\":\n case \"unknown\":\n // No check needed - pass through\n typeAccessor = accessor;\n break;\n case \"never\":\n doc.write(\"return INVALID;\");\n typeAccessor = accessor;\n break;\n case \"void\":\n typeAccessor = generateVoidCheck(doc, accessor);\n break;\n case \"nan\":\n typeAccessor = generateNaNCheck(doc, accessor);\n break;\n case \"date\":\n typeAccessor = generateDateCheck(doc, accessor);\n break;\n case \"object\":\n typeAccessor = generateObjectCheck(doc, ctx, schema, accessor, buildsValue);\n break;\n case \"optional\":\n typeAccessor = generateOptionalCheck(doc, ctx, schema, accessor, buildsValue);\n break;\n case \"nullable\":\n typeAccessor = generateNullableCheck(doc, ctx, schema, accessor, buildsValue);\n break;\n case \"array\":\n typeAccessor = generateArrayCheck(doc, ctx, schema, accessor, buildsValue);\n break;\n case \"literal\":\n typeAccessor = generateLiteralCheck(doc, ctx, schema, accessor);\n break;\n case \"enum\":\n typeAccessor = generateEnumCheck(doc, ctx, schema, accessor);\n break;\n case \"readonly\": {\n const innerOut = generateWrapperCheck(doc, ctx, schema, accessor);\n // Runtime freezes the parsed value (schemas.ts handleReadonlyResult).\n const frozenVar = newVar(ctx);\n doc.write(`const ${frozenVar} = Object.freeze(${innerOut});`);\n typeAccessor = frozenVar;\n break;\n }\n case \"success\":\n // Runtime output is `issues.length === 0`. The fast path only reaches\n // here when the inner check passed (failure returns INVALID and the\n // runtime fallback reproduces the inner issues), so the output is\n // always `true`.\n generateWrapperCheck(doc, ctx, schema, accessor);\n typeAccessor = \"true\";\n break;\n case \"default\":\n case \"prefault\":\n typeAccessor = generateDefaultCheck(doc, ctx, schema, accessor);\n break;\n case \"nonoptional\":\n typeAccessor = generateNonOptionalCheck(doc, ctx, schema, accessor);\n break;\n case \"tuple\":\n typeAccessor = generateTupleCheck(doc, ctx, schema, accessor);\n break;\n case \"union\":\n typeAccessor = generateUnionCheck(doc, ctx, schema, accessor);\n break;\n case \"intersection\":\n typeAccessor = generateIntersectionCheck(doc, ctx, schema, accessor);\n break;\n case \"record\":\n typeAccessor = generateRecordCheck(doc, ctx, schema, accessor);\n break;\n case \"map\":\n typeAccessor = generateMapCheck(doc, ctx, schema, accessor);\n break;\n case \"set\":\n typeAccessor = generateSetCheck(doc, ctx, schema, accessor);\n break;\n case \"file\":\n typeAccessor = generateFileCheck(doc, accessor);\n break;\n case \"template_literal\":\n typeAccessor = generateTemplateLiteralCheck(doc, ctx, schema, accessor);\n break;\n case \"lazy\":\n typeAccessor = generateLazyCheck(doc, ctx, schema, accessor);\n break;\n case \"pipe\":\n typeAccessor = generatePipeCheck(doc, ctx, schema, accessor);\n break;\n case \"custom\":\n typeAccessor = generateCustomCheck(doc, ctx, schema, accessor);\n break;\n case \"transform\":\n typeAccessor = generateTransformCheck(doc, ctx, schema, accessor);\n break;\n case \"catch\":\n typeAccessor = generateCatchCheck(doc, ctx, schema, accessor);\n break;\n default: {\n void type;\n throw new ZodCompileUnsupportedError(`schema type ${type}`);\n }\n }\n // a node that built nothing has no checks to run: not building requires an empty check list\n if (typeAccessor === null)\n return null;\n // Generate checks after the type-specific validation (may transform value)\n return generateChecks(doc, ctx, schema, typeAccessor);\n}\nfunction generateStringCheck(doc, ctx, schema, accessor, needsValue = true) {\n doc.write(`if (typeof ${accessor} !== \"string\") return INVALID;`);\n // z.email() carries its format on the def, z.string().email() in def.checks; both route here so the format table has no second copy to drift from.\n const def = schema._zod.def;\n if (def.format === undefined)\n return accessor;\n return generateStringFormatCheck(doc, ctx, def, accessor, needsValue);\n}\nfunction generateNumberCheck(doc, schema, accessor) {\n // Runtime z.number() rejects NaN and \u00B1Infinity. Number.isFinite covers both.\n doc.write(`if (typeof ${accessor} !== \"number\" || !Number.isFinite(${accessor})) return INVALID;`);\n // Mini factories like z.int(), z.int32(), z.uint32(), z.float32() bake a number_format check into the schema def itself (not into def.checks). Apply the same constraint here.\n const def = schema._zod.def;\n if (def.check === \"number_format\" && def.format) {\n generateNumberFormatCheck(doc, { format: def.format }, accessor);\n }\n return accessor;\n}\nfunction generateBooleanCheck(doc, accessor) {\n doc.write(`if (typeof ${accessor} !== \"boolean\") return INVALID;`);\n return accessor;\n}\nfunction generateBigIntCheck(doc, schema, accessor) {\n doc.write(`if (typeof ${accessor} !== \"bigint\") return INVALID;`);\n // Handle bigint format (int64, uint64) directly on the schema def\n const def = schema._zod.def;\n if (def.format) {\n switch (def.format) {\n case \"int64\":\n doc.write(`if (${accessor} < -9223372036854775808n || ${accessor} > 9223372036854775807n) return INVALID;`);\n break;\n case \"uint64\":\n doc.write(`if (${accessor} < 0n || ${accessor} > 18446744073709551615n) return INVALID;`);\n break;\n }\n }\n return accessor;\n}\nfunction generateSymbolCheck(doc, accessor) {\n doc.write(`if (typeof ${accessor} !== \"symbol\") return INVALID;`);\n return accessor;\n}\nfunction generateUndefinedCheck(doc, accessor) {\n doc.write(`if (${accessor} !== undefined) return INVALID;`);\n return accessor;\n}\nfunction generateNullCheck(doc, accessor) {\n doc.write(`if (${accessor} !== null) return INVALID;`);\n return accessor;\n}\nfunction generateVoidCheck(doc, accessor) {\n doc.write(`if (${accessor} !== undefined) return INVALID;`);\n return accessor;\n}\nfunction generateNaNCheck(doc, accessor) {\n doc.write(`if (typeof ${accessor} !== \"number\" || !Number.isNaN(${accessor})) return INVALID;`);\n return accessor;\n}\nfunction generateDateCheck(doc, accessor) {\n doc.write(`if (!(${accessor} instanceof Date) || Number.isNaN(${accessor}.getTime())) return INVALID;`);\n return accessor;\n}\nfunction generateObjectCheck(doc, ctx, schema, accessor, buildsValue = true) {\n const def = schema._zod.def;\n // Check that input is a non-null, non-array object\n doc.write(`if (typeof ${accessor} !== \"object\" || ${accessor} === null || Array.isArray(${accessor})) return INVALID;`);\n const shape = def.shape;\n const keys = Object.keys(shape);\n const symbolKeys = Object.getOwnPropertySymbols(shape);\n // a symbol has no source literal, so it is hoisted as a constant; `keys` stays string-only where the emitted code uses `for...in`\n const allKeys = symbolKeys.length ? [...keys, ...symbolKeys] : keys;\n const keyExpr = (k) => (typeof k === \"symbol\" ? addConstant(ctx, k) : util.esc(k));\n const propKey = (k) => (typeof k === \"symbol\" ? `[${keyExpr(k)}]` : util.esc(k));\n const propShape = shape;\n // `__proto__` as an own shape key can't be expressed in an output object literal (the literal form sets the prototype instead of an own property).\n if (keys.includes(\"__proto__\")) {\n throw new ZodCompileUnsupportedError('object shape key \"__proto__\"');\n }\n // Map from key to output accessor for that property\n const propOutputs = new Map();\n // Validate each property and collect output accessors\n for (const key of allKeys) {\n const propSchema = propShape[key];\n const kx = keyExpr(key);\n // Always cache the property read: the runtime reads input[key] exactly once, so a getter must not be re-read by checks or output assembly.\n const inputVar = newVar(ctx);\n doc.write(`const ${inputVar} = ${accessor}[${kx}];`);\n if (propSchema._zod.optin !== undefined) {\n // Any optin rung means the key may be omitted. The runtime runs the property anyway and ignores issues only when the key is genuinely absent, which is what makes exactOptional compositional.\n const outputVar = newVar(ctx);\n doc.write(`let ${outputVar} = (() => {`);\n doc.indented((d) => {\n const outputAccessor = compileChild(d, ctx, propSchema, inputVar);\n d.write(`return ${outputAccessor};`);\n });\n doc.write(`})();`);\n if (propSchema._zod.optout === \"optional\") {\n doc.write(`if (${outputVar} === INVALID) {`);\n doc.indented((d) => {\n d.write(`if (${kx} in ${accessor}) return INVALID;`);\n d.write(`${outputVar} = undefined;`);\n });\n doc.write(`}`);\n }\n else {\n doc.write(`if (${outputVar} === INVALID) return INVALID;`);\n }\n propOutputs.set(key, outputVar);\n }\n else {\n if (requiresPresenceCheck(propSchema)) {\n doc.write(`if (!(${kx} in ${accessor})) return INVALID;`);\n }\n // Generate check and get output accessor\n const outputAccessor = compileChild(doc, ctx, propSchema, inputVar, buildsValue);\n if (outputAccessor !== null)\n propOutputs.set(key, outputAccessor);\n }\n }\n // Handle catchall\n const catchall = def.catchall;\n let unknownKeysMode = \"none\";\n if (catchall) {\n const catchallType = catchall._zod.def.type;\n if (catchallType === \"never\") {\n // Strict: one `for...in`, as the runtime does, so inherited enumerable keys count. An undeclared `__proto__` is reported here and excluded only from the output (#6221); an own-key count would wrongly reject a class instance.\n const condition = keys.map((k) => `k !== ${util.esc(k)}`).join(\" && \") || \"true\";\n doc.write(`for (const k in ${accessor}) {`);\n doc.indented((d) => {\n d.write(`if (${condition}) return INVALID;`);\n });\n doc.write(`}`);\n }\n else if ((catchallType === \"unknown\" || catchallType === \"any\") && !catchall._zod.def.checks?.length) {\n unknownKeysMode = \"passthrough\";\n }\n else {\n unknownKeysMode = \"schema\";\n }\n }\n // else: strip mode (no catchall) - unknown keys ignored, only include known keys\n // defaulted required outputs keep their keys even when undefined\n const outputVar = newVar(ctx);\n const hasConditionalKeys = allKeys.some((k) => mayOmitUndefined(propShape[k]) || dropsWhenAbsent(propShape[k]));\n // Assert mode: every declared key is validated above, so the output literal and the unknown-key copy are pure waste. A `never` catchall already emitted its rejection loop; a schema catchall still has to validate the values it would otherwise have stored.\n if (!buildsValue) {\n if (unknownKeysMode === \"schema\") {\n const knownSet = keys.length > 0 ? addConstant(ctx, new Set(keys)) : null;\n doc.write(`for (const k in ${accessor}) {`);\n doc.indented((d) => {\n d.write(`if (k === \"__proto__\") continue;`);\n if (knownSet)\n d.write(`if (${knownSet}.has(k)) continue;`);\n const valVar = newVar(ctx);\n d.write(`const ${valVar} = ${accessor}[k];`);\n compileChild(d, ctx, catchall, valVar, false);\n });\n doc.write(`}`);\n }\n return null;\n }\n if (!hasConditionalKeys) {\n const propLiterals = allKeys.map((k) => `${propKey(k)}: ${propOutputs.get(k)}`).join(\", \");\n doc.write(`const ${outputVar} = { ${propLiterals} };`);\n }\n else {\n doc.write(`const ${outputVar} = {};`);\n for (const k of allKeys) {\n const kx = keyExpr(k);\n const out = propOutputs.get(k);\n if (dropsWhenAbsent(propShape[k])) {\n doc.write(`if (${kx} in ${accessor}) ${outputVar}[${kx}] = ${out};`);\n }\n else if (mayOmitUndefined(propShape[k])) {\n doc.write(`if (${out} !== undefined || ${kx} in ${accessor}) ${outputVar}[${kx}] = ${out};`);\n }\n else {\n doc.write(`${outputVar}[${kx}] = ${out};`);\n }\n }\n }\n if (unknownKeysMode !== \"none\") {\n // Unknown keys are written directly into the output after shape keys \u2014 for...in (like the runtime) so inherited enumerables participate.\n const knownSet = keys.length > 0 ? addConstant(ctx, new Set(keys)) : null;\n doc.write(`for (const k in ${accessor}) {`);\n doc.indented((d) => {\n // Skip __proto__: assigning obj[\"__proto__\"] on a plain {} replaces the prototype via the setter rather than adding an own property. Mirrors the runtime catchall fix (#5898).\n d.write(`if (k === \"__proto__\") continue;`);\n if (knownSet)\n d.write(`if (${knownSet}.has(k)) continue;`);\n if (unknownKeysMode === \"passthrough\") {\n d.write(`${outputVar}[k] = ${accessor}[k];`);\n }\n else {\n const valVar = newVar(ctx);\n d.write(`const ${valVar} = ${accessor}[k];`);\n const catchallOut = compileChild(d, ctx, catchall, valVar);\n d.write(`${outputVar}[k] = ${catchallOut};`);\n }\n });\n doc.write(`}`);\n }\n return outputVar;\n}\nfunction generateOptionalCheck(doc, ctx, schema, accessor, buildsValue = true) {\n const def = schema._zod.def;\n if (isExactOptional(schema)) {\n return generateCheck(doc, ctx, def.innerType, accessor, buildsValue);\n }\n // Same question $ZodOptional asks: only the top rung of the optin ladder substitutes a value for an absent input, so only it is worth running on `undefined`. Every other rung leaves the value intact, which is the skip branch below.\n if (def.innerType._zod.optin === \"defaulted\") {\n const outputVar = newVar(ctx);\n const branchVar = newVar(ctx);\n doc.write(`let ${outputVar};`);\n doc.write(`if (${accessor} === undefined) {`);\n doc.indented((d) => {\n d.write(`const ${branchVar} = (() => {`);\n d.indented((d2) => {\n const innerOutput = generateCheck(d2, ctx, def.innerType, accessor);\n d2.write(`return ${innerOutput};`);\n });\n d.write(`})();`);\n d.write(`if (${branchVar} !== INVALID) ${outputVar} = ${branchVar};`);\n });\n doc.write(`} else {`);\n doc.indented((d) => {\n const innerOutput = generateCheck(d, ctx, def.innerType, accessor);\n d.write(`${outputVar} = ${innerOutput};`);\n });\n doc.write(`}`);\n return outputVar;\n }\n const outputVar = buildsValue ? newVar(ctx) : null;\n if (outputVar)\n doc.write(`let ${outputVar};`);\n doc.write(`if (${accessor} !== undefined) {`);\n doc.indented((d) => {\n const innerOutput = generateCheck(d, ctx, def.innerType, accessor, buildsValue);\n if (outputVar && innerOutput !== null)\n d.write(`${outputVar} = ${innerOutput};`);\n });\n doc.write(`}`);\n return outputVar;\n}\nfunction isExactOptional(schema) {\n return schema._zod.traits?.has(\"$ZodExactOptional\") === true;\n}\n// A value-level fast path reads an absent key as `undefined`, so z.undefined(), z.any() and unions containing undefined would accept a missing property the runtime rejects.\nfunction requiresPresenceCheck(schema) {\n return schema._zod.optin === undefined && fastPathAcceptsAbsence(schema);\n}\nfunction fastPathAcceptsAbsence(schema) {\n // An island is handed `input[key]` and cannot tell absent from explicitly undefined, so report absence-accepting and let the object emit the presence guard (#6405).\n if (schema._zod.def.coerce)\n return true;\n const def = schema._zod.def;\n switch (def.type) {\n case \"any\":\n case \"unknown\":\n case \"undefined\":\n case \"void\":\n case \"default\":\n case \"prefault\":\n case \"transform\":\n case \"custom\":\n case \"lazy\":\n return true;\n case \"string\":\n case \"number\":\n case \"boolean\":\n case \"bigint\":\n case \"symbol\":\n case \"null\":\n case \"never\":\n case \"nan\":\n case \"date\":\n case \"object\":\n case \"array\":\n case \"tuple\":\n case \"record\":\n case \"map\":\n case \"set\":\n case \"file\":\n case \"template_literal\":\n return false;\n case \"nonoptional\":\n // Normally rejects an absent key, but not when something inside supplies a value for it: `.default(v).optional().nonoptional()` accepts absence and yields v. Defer to the inner \u2014 over-reporting here only costs a presence check, and a fast path that wrongly rejects still falls back to the runtime.\n return def.innerType ? fastPathAcceptsAbsence(def.innerType) : false;\n case \"literal\":\n return !!def.values?.includes(undefined);\n case \"enum\":\n return !!schema._zod.values?.has(undefined);\n case \"optional\":\n case \"nullable\":\n case \"readonly\":\n case \"success\":\n return def.innerType ? fastPathAcceptsAbsence(def.innerType) : true;\n case \"catch\":\n // catch always produces a value (inner may fail \u2192 catchValue substitutes), so it accepts an absent key regardless of inner.\n return true;\n case \"union\":\n return def.options ? def.options.some(fastPathAcceptsAbsence) : true;\n case \"intersection\":\n if (!def.left || !def.right)\n return true;\n return fastPathAcceptsAbsence(def.left) && fastPathAcceptsAbsence(def.right);\n case \"pipe\":\n return def.in ? fastPathAcceptsAbsence(def.in) : true;\n default:\n return true;\n }\n}\n/** The middle rung permits absence without supplying anything in its place, so an absent key contributes nothing \u2014 mirrors the leading gate in `handlePropertyResult`. */\nfunction dropsWhenAbsent(schema) {\n return schema._zod.optin === \"optional\" && schema._zod.optout === \"optional\";\n}\nfunction mayOmitUndefined(schema) {\n return (schema._zod.optin !== \"defaulted\" || schema._zod.optout === \"optional\") && mayOutputUndefined(schema);\n}\n// whether a schema's success-path output can be undefined\nfunction mayOutputUndefined(schema) {\n const def = schema._zod.def;\n switch (def.type) {\n case \"string\":\n case \"number\":\n case \"boolean\":\n case \"bigint\":\n case \"symbol\":\n case \"null\":\n case \"nan\":\n case \"date\":\n case \"object\":\n case \"array\":\n case \"tuple\":\n case \"record\":\n case \"map\":\n case \"set\":\n case \"file\":\n case \"template_literal\":\n case \"never\":\n case \"success\":\n return false;\n case \"literal\":\n return !!def.values?.includes(undefined);\n case \"enum\":\n return !!schema._zod.values?.has(undefined);\n case \"optional\":\n return true;\n case \"nullable\":\n case \"readonly\":\n case \"nonoptional\":\n return def.innerType ? mayOutputUndefined(def.innerType) : true;\n case \"union\":\n return def.options ? def.options.some(mayOutputUndefined) : true;\n case \"intersection\":\n return !def.left || !def.right || mayOutputUndefined(def.left) || mayOutputUndefined(def.right);\n case \"pipe\":\n return def.out ? mayOutputUndefined(def.out) : true;\n default:\n // any/unknown/undefined/void/default/prefault/transform/custom/lazy/catch\n return true;\n }\n}\nfunction generateNullableCheck(doc, ctx, schema, accessor, buildsValue = true) {\n const def = schema._zod.def;\n const outputVar = buildsValue ? newVar(ctx) : null;\n if (outputVar)\n doc.write(`let ${outputVar} = null;`);\n doc.write(`if (${accessor} !== null) {`);\n doc.indented((d) => {\n const innerOutput = generateCheck(d, ctx, def.innerType, accessor, buildsValue);\n if (outputVar && innerOutput !== null)\n d.write(`${outputVar} = ${innerOutput};`);\n });\n doc.write(`}`);\n return outputVar;\n}\nfunction generateArrayCheck(doc, ctx, schema, accessor, buildsValue = true) {\n const def = schema._zod.def;\n doc.write(`if (!Array.isArray(${accessor})) return INVALID;`);\n // Build a new array with validated/transformed elements.\n const outputVar = buildsValue ? newVar(ctx) : null;\n const iVar = newVar(ctx);\n const elemVar = newVar(ctx);\n if (outputVar)\n doc.write(`const ${outputVar} = new Array(${accessor}.length);`);\n doc.write(`for (let ${iVar} = 0; ${iVar} < ${accessor}.length; ${iVar}++) {`);\n doc.indented((d) => {\n d.write(`const ${elemVar} = ${accessor}[${iVar}];`);\n const elemOutput = compileChild(d, ctx, def.element, elemVar, buildsValue);\n if (outputVar && elemOutput !== null)\n d.write(`${outputVar}[${iVar}] = ${elemOutput};`);\n });\n doc.write(`}`);\n return outputVar;\n}\nfunction generateLiteralCheck(doc, ctx, schema, accessor) {\n const def = schema._zod.def;\n const values = def.values;\n // Anything but a single value goes through Set.has: multi-value so every value participates, empty so nothing does \u2014 values[0] would be undefined and compile to an `!== undefined` check that accepts it. Single-value stays inlined for speed.\n if (values.length !== 1) {\n const literalSet = addConstant(ctx, new Set(values));\n doc.write(`if (!${literalSet}.has(${accessor})) return INVALID;`);\n return accessor;\n }\n const value = values[0];\n // `$ZodLiteral` matches with `values.has`, i.e. SameValueZero, so NaN matches itself. `x !== NaN` is true for every input, which would reject everything \u2014 hand it to the same Set form the multi-value path uses.\n if (typeof value === \"number\" && Number.isNaN(value)) {\n const literalSet = addConstant(ctx, new Set(values));\n doc.write(`if (!${literalSet}.has(${accessor})) return INVALID;`);\n return accessor;\n }\n if (typeof value === \"string\") {\n doc.write(`if (${accessor} !== ${util.esc(value)}) return INVALID;`);\n }\n else if (typeof value === \"number\" || typeof value === \"boolean\") {\n doc.write(`if (${accessor} !== ${value}) return INVALID;`);\n }\n else if (value === null) {\n doc.write(`if (${accessor} !== null) return INVALID;`);\n }\n else if (value === undefined) {\n doc.write(`if (${accessor} !== undefined) return INVALID;`);\n }\n else if (typeof value === \"bigint\") {\n doc.write(`if (${accessor} !== ${value}n) return INVALID;`);\n }\n else {\n throw new ZodCompileUnsupportedError(`literal type ${typeof value}`);\n }\n return accessor;\n}\nfunction generateEnumCheck(doc, ctx, schema, accessor) {\n const values = schema._zod.values;\n // z.partialRecord and friends clear `_zod.values`, leaving no set to test membership against. Throw rather than emit INVALID so a union falls back whole instead of counting a false rejection.\n if (!values) {\n throw new ZodCompileUnsupportedError(\"enum schema without enumerated values\");\n }\n const enumSet = addConstant(ctx, values);\n doc.write(`if (!${enumSet}.has(${accessor})) return INVALID;`);\n return accessor;\n}\nfunction generateWrapperCheck(doc, ctx, schema, accessor) {\n const def = schema._zod.def;\n return generateCheck(doc, ctx, def.innerType, accessor);\n}\nfunction generateDefaultCheck(doc, ctx, schema, accessor) {\n const def = schema._zod.def;\n // `defaultValue` is an accessor on schemas built through the classic/mini\n // factories and a plain data property on ones rebuilt programmatically\n // (deepPartial and friends). Read it off the def either way \u2014 taking only\n // `descriptor.get` silently dropped the default for the second kind, so\n // `.default(v)` compiled to `undefined` instead of `v`.\n const descriptor = Object.getOwnPropertyDescriptor(schema._zod.def, \"defaultValue\");\n const defaultGetter = descriptor\n ? () => schema._zod.def.defaultValue\n : undefined;\n // prefault differs from default: undefined-input is first replaced with the prefault value, then run through the inner schema.\n if (schema._zod.def.type === \"prefault\") {\n if (!defaultGetter) {\n return generateCheck(doc, ctx, def.innerType, accessor);\n }\n const defaultFn = addConstant(ctx, defaultGetter);\n const inputVar = newVar(ctx);\n doc.write(`let ${inputVar} = ${accessor};`);\n doc.write(`if (${accessor} === undefined) ${inputVar} = ${defaultFn}();`);\n return generateCheck(doc, ctx, def.innerType, inputVar);\n }\n const outputVar = newVar(ctx);\n // Default allows undefined (replaces with default value), otherwise validates inner type\n if (defaultGetter) {\n const defaultFn = addConstant(ctx, defaultGetter);\n const cloneFn = addConstant(ctx, util.shallowClone);\n doc.write(`let ${outputVar};`);\n doc.write(`if (${accessor} === undefined) {`);\n doc.indented((d) => {\n // Shallow-clone the default so callers can mutate the result without affecting subsequent parses (#5855 \u2014 also covers Map/Set).\n d.write(`${outputVar} = ${cloneFn}(${defaultFn}());`);\n });\n doc.write(`} else {`);\n doc.indented((d) => {\n const innerOutput = generateCheck(d, ctx, def.innerType, accessor);\n d.write(`${outputVar} = ${innerOutput} === undefined ? ${cloneFn}(${defaultFn}()) : ${innerOutput};`);\n });\n doc.write(`}`);\n }\n else {\n doc.write(`let ${outputVar};`);\n doc.write(`if (${accessor} !== undefined) {`);\n doc.indented((d) => {\n const innerOutput = generateCheck(d, ctx, def.innerType, accessor);\n d.write(`${outputVar} = ${innerOutput};`);\n });\n doc.write(`}`);\n }\n return outputVar;\n}\nfunction generateNonOptionalCheck(doc, ctx, schema, accessor) {\n const def = schema._zod.def;\n // The runtime inspects what the inner produced, not what it was given: a catch can turn a defined input into undefined, a default an absent one into a value.\n const innerOutput = generateCheck(doc, ctx, def.innerType, accessor);\n const outputVar = newVar(ctx);\n doc.write(`const ${outputVar} = ${innerOutput};`);\n doc.write(`if (${outputVar} === undefined) return INVALID;`);\n return outputVar;\n}\nfunction generateTupleCheck(doc, ctx, schema, accessor) {\n const def = schema._zod.def;\n const items = def.items;\n const rest = def.rest;\n doc.write(`if (!Array.isArray(${accessor})) return INVALID;`);\n // Mirror the runtime's getTupleOptStart: find the first index where every subsequent slot accepts `undefined` (i.e. is optional on input). Anything shorter than this is too_small; trailing absent slots are legal.\n const optinStart = getTupleOptStart(items, \"optin\");\n const optoutStart = getTupleOptStart(items, \"optout\");\n // Length bounds\n if (rest) {\n // With rest: minimum length is the last required input slot\n doc.write(`if (${accessor}.length < ${optinStart}) return INVALID;`);\n }\n else {\n // No rest: input must be in [optinStart, items.length]\n doc.write(`if (${accessor}.length < ${optinStart} || ${accessor}.length > ${items.length}) return INVALID;`);\n }\n // Build the output in assignment order so absent optional-output tail slots can truncate while default/prefault slots still fill missing positions.\n const outputVar = newVar(ctx);\n doc.write(`const ${outputVar} = [];`);\n // Validate and collect each fixed item\n for (let i = 0; i < items.length; i++) {\n const itemSchema = items[i];\n if (i >= optoutStart) {\n doc.write(`if (${outputVar}.length === ${i}) {`);\n doc.indented((d) => {\n d.write(`if (${i} < ${accessor}.length) {`);\n d.indented((d2) => {\n const elemVar = newVar(ctx);\n d2.write(`const ${elemVar} = ${accessor}[${i}];`);\n const elemOutput = compileChild(d2, ctx, itemSchema, elemVar);\n d2.write(`${outputVar}[${i}] = ${elemOutput};`);\n });\n d.write(`} else {`);\n d.indented((d2) => {\n // Middle rung: absence supplies nothing in its place, so truncate rather than running the item on `undefined` and keeping what it invents. Mirrors the leading gate in `handleTupleResults`.\n if (dropsWhenAbsent(itemSchema)) {\n d2.write(`${outputVar}.length = ${i};`);\n return;\n }\n const elemVar = newVar(ctx);\n const branchVar = newVar(ctx);\n d2.write(`const ${elemVar} = undefined;`);\n d2.write(`const ${branchVar} = (() => {`);\n d2.indented((d3) => {\n const elemOutput = compileChild(d3, ctx, itemSchema, elemVar);\n d3.write(`return ${elemOutput};`);\n });\n d2.write(`})();`);\n d2.write(`if (${branchVar} === INVALID || ${branchVar} === undefined) ${outputVar}.length = ${i};`);\n d2.write(`else ${outputVar}[${i}] = ${branchVar};`);\n });\n d.write(`}`);\n });\n doc.write(`}`);\n }\n else {\n const elemVar = newVar(ctx);\n doc.write(`const ${elemVar} = ${accessor}[${i}];`);\n const elemOutput = compileChild(doc, ctx, itemSchema, elemVar);\n doc.write(`${outputVar}[${i}] = ${elemOutput};`);\n }\n }\n // Validate and collect rest elements if present\n if (rest) {\n const iVar = newVar(ctx);\n const elemVar = newVar(ctx);\n doc.write(`for (let ${iVar} = ${items.length}; ${iVar} < ${accessor}.length; ${iVar}++) {`);\n doc.indented((d) => {\n d.write(`const ${elemVar} = ${accessor}[${iVar}];`);\n const elemOutput = compileChild(d, ctx, rest, elemVar);\n d.write(`${outputVar}[${iVar}] = ${elemOutput};`);\n });\n doc.write(`}`);\n }\n return outputVar;\n}\nfunction getTupleOptStart(items, key) {\n for (let i = items.length - 1; i >= 0; i--) {\n // Mirrors the runtime: optin is a three-rung ladder so any rung above `undefined` permits an absent slot; optout stays two-valued.\n const omittable = key === \"optin\" ? items[i]._zod.optin !== undefined : items[i]._zod.optout === \"optional\";\n if (!omittable)\n return i + 1;\n }\n return 0;\n}\nfunction generateUnionCheck(doc, ctx, schema, accessor) {\n const def = schema._zod.def;\n const options = def.options;\n if (def.discriminator) {\n return generateDiscriminatedUnionCheck(doc, ctx, def, accessor);\n }\n // z.xor requires *exactly one* option to match. Match-counting in the fast path is only sound if every branch is exactly as strict as the runtime \u2014 any falsely-rejecting branch silently turns a multi-match rejection into an accept. Force the runtime for this rare combinator.\n if (def.inclusive === false) {\n throw new ZodCompileUnsupportedError(\"exclusive unions (z.xor)\");\n }\n if (options.length === 0) {\n doc.write(\"return INVALID;\");\n return accessor;\n }\n if (options.length === 1) {\n return generateCheck(doc, ctx, options[0], accessor);\n }\n // Check if all options are bare literals - use Set optimization. A literal option carrying checks (e.g. .refine) must take the general path or the Set would accept values its checks reject.\n const allLiterals = options.every((opt) => opt._zod.def.type === \"literal\" && !opt._zod.def.checks?.length);\n if (allLiterals) {\n const values = new Set(options.flatMap((opt) => opt._zod.def.values));\n const valuesConst = addConstant(ctx, values);\n doc.write(`if (!${valuesConst}.has(${accessor})) return INVALID;`);\n return accessor;\n }\n // General case: try each option until one succeeds Use IIFEs that return the output or INVALID\n const outputVar = newVar(ctx);\n doc.write(`let ${outputVar};`);\n for (let i = 0; i < options.length; i++) {\n const opt = options[i];\n if (i === 0) {\n doc.write(`${outputVar} = (() => {`);\n }\n else {\n doc.write(`if (${outputVar} === INVALID) ${outputVar} = (() => {`);\n }\n doc.indented((d) => {\n // Generate check inside IIFE - returns INVALID on failure\n const branchOutput = generateCheck(d, ctx, opt, accessor);\n d.write(`return ${branchOutput};`);\n });\n doc.write(`})();`);\n }\n doc.write(`if (${outputVar} === INVALID) return INVALID;`);\n return outputVar;\n}\nfunction generateDiscriminatedUnionCheck(doc, ctx, def, accessor) {\n if (def.unionFallback) {\n throw new ZodCompileUnsupportedError(\"discriminated union with unionFallback\");\n }\n if (def.options.length === 0) {\n doc.write(\"return INVALID;\");\n return accessor;\n }\n const discVar = newVar(ctx);\n const outputVar = newVar(ctx);\n doc.write(`const ${discVar} = ${accessor}?.[${util.esc(def.discriminator)}];`);\n doc.write(`let ${outputVar};`);\n let firstBranch = true;\n const claimed = new Set();\n for (const option of def.options) {\n const values = option._zod.propValues?.[def.discriminator];\n if (!values || values.size === 0) {\n throw new ZodCompileUnsupportedError(\"discriminated union option without static discriminator values\");\n }\n // let the interpreter handle collisions instead of compiling first-match dispatch\n for (const value of values) {\n if (claimed.has(value)) {\n throw new ZodCompileUnsupportedError(`duplicate discriminator value ${String(value)}`);\n }\n claimed.add(value);\n }\n const conditions = Array.from(values, (value) => literalEquality(ctx, discVar, value));\n const prefix = firstBranch ? \"if\" : \"else if\";\n doc.write(`${prefix} (${conditions.join(\" || \")}) {`);\n doc.indented((d) => {\n const branchOutput = generateCheck(d, ctx, option, accessor);\n d.write(`${outputVar} = ${branchOutput};`);\n });\n doc.write(`}`);\n firstBranch = false;\n }\n doc.write(`else { return INVALID; }`);\n return outputVar;\n}\nfunction literalEquality(ctx, accessor, value) {\n if (typeof value === \"string\")\n return `${accessor} === ${util.esc(value)}`;\n if (typeof value === \"number\") {\n if (Number.isNaN(value))\n return `Number.isNaN(${accessor})`;\n return `${accessor} === ${value}`;\n }\n if (typeof value === \"boolean\")\n return `${accessor} === ${value}`;\n if (value === null)\n return `${accessor} === null`;\n if (value === undefined)\n return `${accessor} === undefined`;\n if (typeof value === \"bigint\")\n return `${accessor} === ${value}n`;\n if (typeof value === \"symbol\") {\n const symbolConst = addConstant(ctx, value);\n return `${accessor} === ${symbolConst}`;\n }\n throw new ZodCompileUnsupportedError(`literal discriminator value ${String(value)}`);\n}\nfunction generateIntersectionCheck(doc, ctx, schema, accessor) {\n const def = schema._zod.def;\n // An unmergeable merge, and a child failing before the merge is even reached, both return INVALID for a case the interpreter answers with a throw.\n ctx.definite = false;\n const leftOutput = compileChild(doc, ctx, def.left, accessor);\n const rightOutput = compileChild(doc, ctx, def.right, accessor);\n // Hoist the runtime merge helper so recursive object/array merge semantics stay in one place. If the merge is invalid, return INVALID and let the runtime fallback construct canonical errors.\n const mergeConst = addConstant(ctx, mergeValues);\n const mergedVar = newVar(ctx);\n doc.write(`const ${mergedVar} = ${mergeConst}(${leftOutput}, ${rightOutput});`);\n doc.write(`if (!${mergedVar}.valid) return INVALID;`);\n return `${mergedVar}.data`;\n}\nfunction generateRecordCheck(doc, ctx, schema, accessor) {\n const def = schema._zod.def;\n // Use util.isPlainObject (rejects Date, Map, Set, class instances, etc.) to match runtime behavior. Hoisted call instead of inline so this stays a single source of truth with the runtime parser.\n const isPlainObjectConst = addConstant(ctx, util.isPlainObject);\n doc.write(`if (!${isPlainObjectConst}(${accessor})) return INVALID;`);\n const outputVar = newVar(ctx);\n const kVar = newVar(ctx);\n const valVar = newVar(ctx);\n doc.write(`const ${outputVar} = {};`);\n // Exhaustive record. The runtime gates this on `values && !def.partial`, since z.partialRecord keeps its value set but makes every key optional; a loose record passes unrecognized keys through, which the per-key scan cannot express.\n const recordDef = def;\n const keyValues = recordDef.partial ? undefined : def.keyType._zod.values;\n if (keyValues) {\n const inputKeys = [];\n for (const key of keyValues) {\n if (!(typeof key === \"string\" || typeof key === \"number\" || typeof key === \"symbol\")) {\n throw new ZodCompileUnsupportedError(`record key value ${String(key)}`);\n }\n const inputKey = typeof key === \"number\" ? key.toString() : key;\n if (inputKey === \"__proto__\") {\n // `out[\"__proto__\"] = v` would hit the prototype setter on the output.\n throw new ZodCompileUnsupportedError('record key \"__proto__\"');\n }\n inputKeys.push(inputKey);\n const keyConst = addConstant(ctx, key);\n const outKey = generateCheck(doc, ctx, def.keyType, keyConst);\n // Read the property once. Passing the raw expression let compileChild validate one read while the output write performed a second, so a getter could hand back a value nothing had checked.\n const valueVar = newVar(ctx);\n doc.write(`const ${valueVar} = ${accessor}[${literalPropertyKey(ctx, inputKey)}];`);\n const valOutput = compileChild(doc, ctx, def.valueType, valueVar);\n doc.write(`${outputVar}[${outKey}] = ${valOutput};`);\n }\n // `mode: \"loose\"` changes only what happens to unrecognized keys, so it belongs here rather than the per-present-key scan. Passing them through matches the runtime, which skips `__proto__`.\n const knownKeysConst = addConstant(ctx, new Set(inputKeys));\n doc.write(`for (const ${kVar} in ${accessor}) {`);\n doc.indented((d) => {\n d.write(`if (${knownKeysConst}.has(${kVar})) continue;`);\n if (recordDef.mode === \"loose\") {\n d.write(`if (${kVar} !== \"__proto__\") ${outputVar}[${kVar}] = ${accessor}[${kVar}];`);\n }\n else {\n d.write(`return INVALID;`);\n }\n });\n doc.write(`}`);\n return outputVar;\n }\n // The bare-string shortcut below only tests `typeof key === \"string\"`, so it\n // is correct exclusively for a `z.string()` carrying nothing else. A string\n // *format* lives on the def rather than in `checks` \u2014 `z.record(z.email(), \u2026)`\n // reads as a plain string here \u2014 and coercion rewrites the key, so both have\n // to take the general path or the shortcut accepts keys the runtime rejects.\n const keyDef = def.keyType._zod.def;\n const keyIsBareString = keyDef.type === \"string\" && keyDef.format === undefined && !keyDef.coerce && (keyDef.checks?.length ?? 0) === 0;\n if (!keyIsBareString) {\n // A key schema with no value set is a constraint every key must satisfy\n // (`z.email()`, `z.string().min(3)`, `z.number()`, a template literal).\n // The runtime runs it against each own enumerable key and writes the value\n // under the key it produced, so compile it once and call it per key.\n const isLoose = def.mode === \"loose\";\n // the key compiles in its own context, so carry its verdict out: a key schema that can answer INVALID undecidably makes this validator undecidable too\n const keyFn = compileFn(def.keyType);\n if (keyFn.definite === false)\n ctx.definite = false;\n const keyFast = addConstant(ctx, keyFn);\n const numericConst = addConstant(ctx, regexes.number);\n const outKeyVar = newVar(ctx);\n // the body runs once per string key and once per symbol key, since a key schema can accept symbols\n emitOwnKeys(doc, ctx, accessor, kVar, (d) => {\n d.write(`let ${outKeyVar} = ${keyFast}(${kVar});`);\n // Numeric-string retry, mirroring the runtime: a key the schema rejects as a string is tried again as a number, so z.record(z.number(), \u2026) matches the numeric keys JavaScript stringified on the way in.\n d.write(`if (${outKeyVar} === INVALID && typeof ${kVar} === \"string\" && ${numericConst}.test(${kVar})) ${outKeyVar} = ${keyFast}(Number(${kVar}));`);\n if (isLoose) {\n // A loose record keeps a key its schema rejects, copying the value across unvalidated rather than failing the parse.\n d.write(`if (${outKeyVar} === INVALID) { ${outputVar}[${kVar}] = ${accessor}[${kVar}]; continue; }`);\n }\n else {\n d.write(`if (${outKeyVar} === INVALID) return INVALID;`);\n }\n // The guard above tested the input key, but the schema can normalize an ordinary key into __proto__; re-check the one actually written under.\n d.write(`if (${outKeyVar} === \"__proto__\") continue;`);\n // Read once: the raw expression would be evaluated again by the output write below, so an accessor could return an unvalidated second value.\n const valueVar = newVar(ctx);\n d.write(`const ${valueVar} = ${accessor}[${kVar}];`);\n const valOutput = compileChild(d, ctx, def.valueType, valueVar);\n d.write(`${outputVar}[${outKeyVar}] = ${valOutput};`);\n });\n return outputVar;\n }\n // Plain z.string() keys: every own enumerable string key's value is validated, and an own enumerable symbol key fails the string key schema, as it does in the runtime's Reflect.ownKeys walk.\n emitOwnKeys(doc, ctx, accessor, kVar, (d) => {\n d.write(`const ${valVar} = ${accessor}[${kVar}];`);\n const valOutput = compileChild(d, ctx, def.valueType, valVar);\n d.write(`${outputVar}[${kVar}] = ${valOutput};`);\n }, `return INVALID;`);\n return outputVar;\n}\n// Walks the own enumerable keys of a plain object in Reflect.ownKeys order \u2014 strings from getOwnPropertyNames, then symbols \u2014 instead of Reflect.ownKeys, whose accumulator made that walk 3\u20136x the cost of the loop it fed. Both snapshots are taken before any value is read and every key is rechecked with propertyIsEnumerable when visited, exactly the runtime's walk, so a getter that adds, deletes, hides or reveals a key mid-walk sees the runtime's verdict; for-in and Object.keys were no faster and each lost a case (for-in enumerates the prototype chain after the own keys, Object.keys drops a key that is non-enumerable at snapshot time). `body` is written once for the string loop and once for the symbol loop unless `onSymbol` replaces the latter.\nfunction emitOwnKeys(doc, ctx, accessor, kVar, body, onSymbol) {\n const propIsEnumerableConst = addConstant(ctx, Object.prototype.propertyIsEnumerable);\n const symsVar = newVar(ctx);\n const keysVar = newVar(ctx);\n const iVar = newVar(ctx);\n doc.write(`const ${symsVar} = Object.getOwnPropertySymbols(${accessor});`);\n doc.write(`const ${keysVar} = Object.getOwnPropertyNames(${accessor});`);\n doc.write(`for (let ${iVar} = 0; ${iVar} < ${keysVar}.length; ${iVar}++) {`);\n doc.indented((d) => {\n d.write(`const ${kVar} = ${keysVar}[${iVar}];`);\n d.write(`if (${kVar} === \"__proto__\" || !${propIsEnumerableConst}.call(${accessor}, ${kVar})) continue;`);\n body(d);\n });\n doc.write(`}`);\n doc.write(`for (let ${iVar} = 0; ${iVar} < ${symsVar}.length; ${iVar}++) {`);\n doc.indented((d) => {\n d.write(`const ${kVar} = ${symsVar}[${iVar}];`);\n d.write(`if (!${propIsEnumerableConst}.call(${accessor}, ${kVar})) continue;`);\n if (onSymbol)\n d.write(onSymbol);\n else\n body(d);\n });\n doc.write(`}`);\n}\nfunction literalPropertyKey(ctx, key) {\n if (typeof key === \"string\")\n return util.esc(key);\n return addConstant(ctx, key);\n}\nfunction generateMapCheck(doc, ctx, schema, accessor) {\n const def = schema._zod.def;\n doc.write(`if (!(${accessor} instanceof Map)) return INVALID;`);\n const outputVar = newVar(ctx);\n const kVar = newVar(ctx);\n const valVar = newVar(ctx);\n doc.write(`const ${outputVar} = new Map();`);\n doc.write(`for (const [${kVar}, ${valVar}] of ${accessor}) {`);\n doc.indented((d) => {\n const keyOutput = generateCheck(d, ctx, def.keyType, kVar);\n const valOutput = generateCheck(d, ctx, def.valueType, valVar);\n d.write(`${outputVar}.set(${keyOutput}, ${valOutput});`);\n });\n doc.write(`}`);\n return outputVar;\n}\nfunction generateSetCheck(doc, ctx, schema, accessor) {\n const def = schema._zod.def;\n doc.write(`if (!(${accessor} instanceof Set)) return INVALID;`);\n const outputVar = newVar(ctx);\n const valVar = newVar(ctx);\n doc.write(`const ${outputVar} = new Set();`);\n doc.write(`for (const ${valVar} of ${accessor}) {`);\n doc.indented((d) => {\n const valOutput = generateCheck(d, ctx, def.valueType, valVar);\n d.write(`${outputVar}.add(${valOutput});`);\n });\n doc.write(`}`);\n return outputVar;\n}\nfunction generateFileCheck(doc, accessor) {\n // Runtime $ZodFile is a bare `instanceof File`, including the implicit global lookup. The previous duck-typed fallback accepted arbitrary {name, size} objects in File-less environments \u2014 behavior the runtime never had.\n doc.write(`if (!(${accessor} instanceof File)) return INVALID;`);\n return accessor;\n}\nfunction generateTemplateLiteralCheck(doc, ctx, schema, accessor) {\n doc.write(`if (typeof ${accessor} !== \"string\") return INVALID;`);\n // Template literal schemas have a pre-computed pattern in _zod.pattern\n const pattern = schema._zod.pattern;\n if (pattern) {\n const patternConst = addConstant(ctx, pattern);\n doc.write(`${patternConst}.lastIndex = 0;`);\n doc.write(`if (!${patternConst}.test(${accessor})) return INVALID;`);\n }\n return accessor;\n}\nfunction generateLazyCheck(doc, ctx, schema, accessor) {\n // For lazy schemas, we use a cached parser that falls back to runtime Zod parsing This handles recursive schemas correctly by avoiding infinite compilation loops\n const def = schema._zod.def;\n const getterConst = addUserConstant(ctx, def.getter);\n const cacheConst = addConstant(ctx, { parser: null });\n doc.write(`if (!${cacheConst}.parser) {`);\n doc.indented((d) => {\n d.write(`const inner = ${getterConst}();`);\n d.write(`${cacheConst}.parser = function(input) {`);\n d.indented((d2) => {\n // Use runtime Zod parsing - this correctly handles recursive schemas Pass an empty ctx like runtimeRun does \u2014 runtime parsers read ctx.skipChecks/ctx.direction unconditionally and crash on undefined.\n d2.write(`const result = inner._zod.run({ value: input, issues: [] }, {});`);\n d2.write(`return result.issues.length === 0 ? result.value : INVALID;`);\n });\n d.write(`};`);\n });\n doc.write(`}`);\n const outputVar = newVar(ctx);\n doc.write(`const ${outputVar} = ${cacheConst}.parser(${accessor});`);\n doc.write(`if (${outputVar} === INVALID) return INVALID;`);\n return outputVar;\n}\nfunction generatePipeCheck(doc, ctx, schema, accessor) {\n const def = schema._zod.def;\n // Validate input type first\n const inputOutput = generateCheck(doc, ctx, def.in, accessor);\n if (def.transform) {\n // Apply transform and validate output. The transform may read its second `payload` argument (codec transforms like z.stringbool() push issues there) so wrap the call in a helper that spoofs a payload. Pushed issues signal INVALID and the wrapper falls back to the runtime, and a plain function handing back a promise answers INVALID too \u2014 union parity, but not a decidable rejection at the top level.\n if (isAsyncFunction(def.transform)) {\n throw new ZodCompileAsyncError(\"z.compile: async transforms in pipes are not supported\");\n }\n const transformFn = def.transform;\n const helperFn = (value) => {\n // `addIssue` has to be here: a transform reporting through it is reporting, not failing. Without it the call threw a TypeError that the old catch swallowed into a fallback, so every ctx.addIssue transform quietly lost its fast path and the real error was never visible.\n const fakePayload = { value, issues: [], addIssue: pushIssue };\n // A throw is deliberately not caught. The interpreter lets one propagate out of the whole parse; swallowing it into INVALID turned a thrown error into a merely-rejected union branch, so a later branch answered instead.\n const result = transformFn(value, fakePayload);\n if (result instanceof Promise)\n return INVALID;\n return fakePayload.issues.length === 0 ? result : INVALID;\n };\n const helperConst = addUserConstant(ctx, helperFn);\n const transformedVar = newVar(ctx);\n doc.write(`const ${transformedVar} = ${helperConst}(${inputOutput});`);\n doc.write(`if (${transformedVar} === INVALID) return INVALID;`);\n return generateCheck(doc, ctx, def.out, transformedVar);\n }\n else {\n // No transform - validate output type on same value\n return generateCheck(doc, ctx, def.out, inputOutput);\n }\n}\nfunction isAsyncFunction(fn) {\n return (typeof fn === \"function\" &&\n (fn.constructor.name === \"AsyncFunction\" ||\n fn[Symbol.toStringTag] === \"AsyncFunction\"));\n}\nfunction generateCustomCheck(doc, ctx, schema, accessor) {\n const def = schema._zod.def;\n if (def.fn) {\n // Check for async function\n if (isAsyncFunction(def.fn)) {\n throw new ZodCompileAsyncError(\"z.compile: async custom predicates are not supported\");\n }\n // Custom schema with a predicate function (e.g. z.instanceof). `isAsyncFunction` above is syntactic, so a plain function returning a promise reaches here, and a promise is truthy \u2014 it would read as a pass where the interpreter throws.\n const fnConst = addUserConstant(ctx, def.fn);\n const throwAsyncConst = addConstant(ctx, throwAsync);\n const resVar = newVar(ctx);\n doc.write(`const ${resVar} = ${fnConst}(${accessor});`);\n doc.write(`if (${resVar} instanceof Promise) ${throwAsyncConst}();`);\n doc.write(`if (!${resVar}) return INVALID;`);\n }\n else {\n throw new ZodCompileUnsupportedError(\"custom schema without a predicate function\");\n }\n return accessor;\n}\n// Runtime helper for a compiled `catch`: runs the inner schema once and returns its value when it succeeded. Anything else \u2014 a failure the catch would handle, or an async inner \u2014 returns INVALID so the interpreter takes over.\nfunction runtimeCatch(innerSchema, catchValue, value) {\n const result = innerSchema._zod.run({ value, issues: [] }, {});\n if (result && typeof result.then === \"function\")\n return INVALID;\n const r = result;\n if (r.issues.length === 0)\n return r.value;\n // Only reached for a catch value that ignores the parse context \u2014 codegen refuses the rest \u2014 so there are no issues to finalize and nothing here needs the caller's error map.\n return catchValue();\n}\nfunction generateCatchCheck(doc, ctx, schema, accessor) {\n const def = schema._zod.def;\n // An untagged catchValue is a user callback, and one reading `ctx.error` needs the caller's per-parse error map. Catch *succeeds*, so a wrong message there is unobservable \u2014 refuse at codegen, and not islandable either, since `runtimeRun` has no context to hand it.\n if (!def.catchValue[util.CONSTANT_CATCH]) {\n throw new ZodCompileUnsupportedError(\"catch with a callback (only a constant catch value compiles)\", false);\n }\n const outputVar = newVar(ctx);\n doc.write(`let ${outputVar} = (() => {`);\n doc.indented((d) => {\n const innerOut = compileChild(d, ctx, def.innerType, accessor);\n d.write(`return ${innerOut};`);\n });\n doc.write(`})();`);\n const innerConst = addConstant(ctx, def.innerType);\n const catchConst = addUserConstant(ctx, def.catchValue);\n const catchHelperConst = addConstant(ctx, runtimeCatch);\n doc.write(`if (${outputVar} === INVALID) {`);\n doc.indented((d) => {\n d.write(`${outputVar} = ${catchHelperConst}(${innerConst}, ${catchConst}, ${accessor});`);\n d.write(`if (${outputVar} === INVALID) return INVALID;`);\n });\n doc.write(`}`);\n return outputVar;\n}\nfunction generateTransformCheck(doc, ctx, schema, accessor) {\n const def = schema._zod.def;\n if (def.transform) {\n // Check for async transform\n if (isAsyncFunction(def.transform)) {\n throw new ZodCompileAsyncError(\"z.compile: async transforms are not supported\");\n }\n // Create a helper that runs the transform and returns the result or INVALID on error\n const transformFn = def.transform;\n const helperFn = (value) => {\n const fakePayload = { value, issues: [], addIssue: pushIssue };\n // As in the pipe helper: a throw propagates, because the interpreter lets it out of the whole parse rather than treating it as a failed branch.\n const result = transformFn(value, fakePayload);\n if (result instanceof Promise)\n return INVALID;\n return fakePayload.issues.length === 0 ? result : INVALID;\n };\n const helperConst = addUserConstant(ctx, helperFn);\n const outputVar = newVar(ctx);\n doc.write(`const ${outputVar} = ${helperConst}(${accessor});`);\n doc.write(`if (${outputVar} === INVALID) return INVALID;`);\n return outputVar;\n }\n return accessor;\n}\n", "import * as checks from \"./checks.js\";\nimport * as registries from \"./registries.js\";\nimport * as schemas from \"./schemas.js\";\nimport * as util from \"./util.js\";\nfunction snapshotChecks(def) {\n if (def.checks)\n def.checks = [...def.checks];\n return def;\n}\n// @__NO_SIDE_EFFECTS__\nexport function _string(Class, params) {\n return new Class(snapshotChecks({ type: \"string\", ...util.normalizeParams(params) }));\n}\n// @__NO_SIDE_EFFECTS__\nexport function _coercedString(Class, params) {\n return new Class(snapshotChecks({ type: \"string\", coerce: true, ...util.normalizeParams(params) }));\n}\n// @__NO_SIDE_EFFECTS__\nexport function _email(Class, params) {\n return new Class({\n type: \"string\",\n format: \"email\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _guid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"guid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _uuid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _uuidv4(Class, params) {\n return new Class({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: false,\n version: \"v4\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _uuidv6(Class, params) {\n return new Class({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: false,\n version: \"v6\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _uuidv7(Class, params) {\n return new Class({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: false,\n version: \"v7\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _url(Class, params) {\n return new Class({\n type: \"string\",\n format: \"url\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _emoji(Class, params) {\n return new Class({\n type: \"string\",\n format: \"emoji\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _nanoid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"nanoid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n/**\n * @deprecated CUID v1 is deprecated by its authors due to information leakage\n * (timestamps embedded in the id). Use {@link _cuid2} instead.\n * See https://github.com/paralleldrive/cuid.\n */\n// @__NO_SIDE_EFFECTS__\nexport function _cuid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"cuid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _cuid2(Class, params) {\n return new Class({\n type: \"string\",\n format: \"cuid2\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _ulid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"ulid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _xid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"xid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _ksuid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"ksuid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _ipv4(Class, params) {\n return new Class({\n type: \"string\",\n format: \"ipv4\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _ipv6(Class, params) {\n return new Class({\n type: \"string\",\n format: \"ipv6\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _mac(Class, params) {\n return new Class({\n type: \"string\",\n format: \"mac\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _cidrv4(Class, params) {\n return new Class({\n type: \"string\",\n format: \"cidrv4\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _cidrv6(Class, params) {\n return new Class({\n type: \"string\",\n format: \"cidrv6\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _base64(Class, params) {\n return new Class({\n type: \"string\",\n format: \"base64\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _base64url(Class, params) {\n return new Class({\n type: \"string\",\n format: \"base64url\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _e164(Class, params) {\n return new Class({\n type: \"string\",\n format: \"e164\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _creditCard(Class, params) {\n return new Class({\n type: \"string\",\n format: \"credit_card\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _iban(Class, params) {\n return new Class({\n type: \"string\",\n format: \"iban\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _jwt(Class, params) {\n return new Class({\n type: \"string\",\n format: \"jwt\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport const TimePrecision = {\n Any: null,\n Minute: -1,\n Second: 0,\n Millisecond: 3,\n Microsecond: 6,\n};\n// @__NO_SIDE_EFFECTS__\nexport function _isoDateTime(Class, params) {\n return new Class({\n type: \"string\",\n format: \"datetime\",\n check: \"string_format\",\n offset: false,\n local: false,\n precision: null,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _isoDate(Class, params) {\n return new Class({\n type: \"string\",\n format: \"date\",\n check: \"string_format\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _isoTime(Class, params) {\n return new Class({\n type: \"string\",\n format: \"time\",\n check: \"string_format\",\n precision: null,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _isoDuration(Class, params) {\n return new Class({\n type: \"string\",\n format: \"duration\",\n check: \"string_format\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _number(Class, params) {\n return new Class(snapshotChecks({ type: \"number\", checks: [], ...util.normalizeParams(params) }));\n}\n// @__NO_SIDE_EFFECTS__\nexport function _coercedNumber(Class, params) {\n return new Class(snapshotChecks({ type: \"number\", coerce: true, checks: [], ...util.normalizeParams(params) }));\n}\n// @__NO_SIDE_EFFECTS__\nexport function _int(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"safeint\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _float32(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"float32\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _float64(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"float64\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _int32(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"int32\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _uint32(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"uint32\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _boolean(Class, params) {\n return new Class({\n type: \"boolean\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _coercedBoolean(Class, params) {\n return new Class({\n type: \"boolean\",\n coerce: true,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _bigint(Class, params) {\n return new Class({\n type: \"bigint\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _coercedBigint(Class, params) {\n return new Class({\n type: \"bigint\",\n coerce: true,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _int64(Class, params) {\n return new Class({\n type: \"bigint\",\n check: \"bigint_format\",\n abort: false,\n format: \"int64\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _uint64(Class, params) {\n return new Class({\n type: \"bigint\",\n check: \"bigint_format\",\n abort: false,\n format: \"uint64\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _symbol(Class, params) {\n return new Class({\n type: \"symbol\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _undefined(Class, params) {\n return new Class({\n type: \"undefined\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _null(Class, params) {\n return new Class({\n type: \"null\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _any(Class) {\n return new Class({\n type: \"any\",\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _unknown(Class) {\n return new Class({\n type: \"unknown\",\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _never(Class, params) {\n return new Class({\n type: \"never\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _void(Class, params) {\n return new Class({\n type: \"void\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _date(Class, params) {\n return new Class({\n type: \"date\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _coercedDate(Class, params) {\n return new Class({\n type: \"date\",\n coerce: true,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _nan(Class, params) {\n return new Class({\n type: \"nan\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _lt(value, params) {\n return new checks.$ZodCheckLessThan({\n check: \"less_than\",\n ...util.normalizeParams(params),\n value,\n inclusive: false,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _lte(value, params) {\n return new checks.$ZodCheckLessThan({\n check: \"less_than\",\n ...util.normalizeParams(params),\n value,\n inclusive: true,\n });\n}\nexport { \n/** @deprecated Use `z.lte()` instead. */\n_lte as _max, };\n// @__NO_SIDE_EFFECTS__\nexport function _gt(value, params) {\n return new checks.$ZodCheckGreaterThan({\n check: \"greater_than\",\n ...util.normalizeParams(params),\n value,\n inclusive: false,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _gte(value, params) {\n return new checks.$ZodCheckGreaterThan({\n check: \"greater_than\",\n ...util.normalizeParams(params),\n value,\n inclusive: true,\n });\n}\nexport { \n/** @deprecated Use `z.gte()` instead. */\n_gte as _min, };\n// @__NO_SIDE_EFFECTS__\nexport function _positive(params) {\n return _gt(0, params);\n}\n// negative\n// @__NO_SIDE_EFFECTS__\nexport function _negative(params) {\n return _lt(0, params);\n}\n// nonpositive\n// @__NO_SIDE_EFFECTS__\nexport function _nonpositive(params) {\n return _lte(0, params);\n}\n// nonnegative\n// @__NO_SIDE_EFFECTS__\nexport function _nonnegative(params) {\n return _gte(0, params);\n}\n// @__NO_SIDE_EFFECTS__\nexport function _multipleOf(value, params) {\n return new checks.$ZodCheckMultipleOf({\n check: \"multiple_of\",\n ...util.normalizeParams(params),\n value,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _maxSize(maximum, params) {\n return new checks.$ZodCheckMaxSize({\n check: \"max_size\",\n ...util.normalizeParams(params),\n maximum,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _minSize(minimum, params) {\n return new checks.$ZodCheckMinSize({\n check: \"min_size\",\n ...util.normalizeParams(params),\n minimum,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _size(size, params) {\n return new checks.$ZodCheckSizeEquals({\n check: \"size_equals\",\n ...util.normalizeParams(params),\n size,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _maxLength(maximum, params) {\n const ch = new checks.$ZodCheckMaxLength({\n check: \"max_length\",\n ...util.normalizeParams(params),\n maximum,\n });\n return ch;\n}\n// @__NO_SIDE_EFFECTS__\nexport function _minLength(minimum, params) {\n return new checks.$ZodCheckMinLength({\n check: \"min_length\",\n ...util.normalizeParams(params),\n minimum,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _length(length, params) {\n return new checks.$ZodCheckLengthEquals({\n check: \"length_equals\",\n ...util.normalizeParams(params),\n length,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _regex(pattern, params) {\n return new checks.$ZodCheckRegex({\n check: \"string_format\",\n format: \"regex\",\n ...util.normalizeParams(params),\n pattern,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _lowercase(params) {\n return new checks.$ZodCheckLowerCase({\n check: \"string_format\",\n format: \"lowercase\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _uppercase(params) {\n return new checks.$ZodCheckUpperCase({\n check: \"string_format\",\n format: \"uppercase\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _includes(includes, params) {\n return new checks.$ZodCheckIncludes({\n check: \"string_format\",\n format: \"includes\",\n ...util.normalizeParams(params),\n includes,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _startsWith(prefix, params) {\n return new checks.$ZodCheckStartsWith({\n check: \"string_format\",\n format: \"starts_with\",\n ...util.normalizeParams(params),\n prefix,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _endsWith(suffix, params) {\n return new checks.$ZodCheckEndsWith({\n check: \"string_format\",\n format: \"ends_with\",\n ...util.normalizeParams(params),\n suffix,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _property(property, schema, params) {\n return new checks.$ZodCheckProperty({\n check: \"property\",\n property,\n schema,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _properties(shape, params) {\n return new checks.$ZodCheckProperties({\n check: \"properties\",\n shape,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _mime(types, params) {\n return new checks.$ZodCheckMimeType({\n check: \"mime_type\",\n mime: types,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _overwrite(tx) {\n return new checks.$ZodCheckOverwrite({\n check: \"overwrite\",\n tx,\n });\n}\n// normalize\n// @__NO_SIDE_EFFECTS__\nexport function _normalize(form) {\n return _overwrite((input) => input.normalize(form));\n}\n// trim\n// @__NO_SIDE_EFFECTS__\nexport function _trim() {\n return _overwrite((input) => input.trim());\n}\n// toLowerCase\n// @__NO_SIDE_EFFECTS__\nexport function _toLowerCase() {\n return _overwrite((input) => input.toLowerCase());\n}\n// toUpperCase\n// @__NO_SIDE_EFFECTS__\nexport function _toUpperCase() {\n return _overwrite((input) => input.toUpperCase());\n}\n// slugify\n// @__NO_SIDE_EFFECTS__\nexport function _slugify() {\n return _overwrite((input) => util.slugify(input));\n}\n// @__NO_SIDE_EFFECTS__\nexport function _array(Class, element, params) {\n return new Class({\n type: \"array\",\n element,\n // get element() {\n // return element;\n // },\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _union(Class, options, params) {\n return new Class({\n type: \"union\",\n options,\n ...util.normalizeParams(params),\n });\n}\nexport function _xor(Class, options, params) {\n return new Class({\n type: \"union\",\n options,\n inclusive: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _discriminatedUnion(Class, discriminator, options, params) {\n return new Class({\n type: \"union\",\n options: options,\n discriminator,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _intersection(Class, left, right) {\n return new Class({\n type: \"intersection\",\n left,\n right,\n });\n}\n// export function _tuple(\n// Class: util.SchemaClass<schemas.$ZodTuple>,\n// items: [],\n// params?: string | $ZodTupleParams\n// ): schemas.$ZodTuple<[], null>;\n// @__NO_SIDE_EFFECTS__\nexport function _tuple(Class, items, _paramsOrRest, _params) {\n const hasRest = _paramsOrRest instanceof schemas.$ZodType;\n const params = hasRest ? _params : _paramsOrRest;\n const rest = hasRest ? _paramsOrRest : null;\n return new Class({\n type: \"tuple\",\n items,\n rest,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _record(Class, keyType, valueType, params) {\n return new Class({\n type: \"record\",\n keyType,\n valueType,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _map(Class, keyType, valueType, params) {\n return new Class({\n type: \"map\",\n keyType,\n valueType,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _set(Class, valueType, params) {\n return new Class({\n type: \"set\",\n valueType,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _enum(Class, values, params) {\n const entries = Array.isArray(values) ? Object.fromEntries(values.map((v) => [v, v])) : values;\n // if (Array.isArray(values)) {\n // for (const value of values) {\n // entries[value] = value;\n // }\n // } else {\n // Object.assign(entries, values);\n // }\n // const entries: util.EnumLike = {};\n // for (const val of values) {\n // entries[val] = val;\n // }\n return new Class({\n type: \"enum\",\n entries,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\n/** @deprecated This API has been merged into `z.enum()`. Use `z.enum()` instead.\n *\n * ```ts\n * enum Colors { red, green, blue }\n * z.enum(Colors);\n * ```\n */\nexport function _nativeEnum(Class, entries, params) {\n return new Class({\n type: \"enum\",\n entries,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _literal(Class, value, params) {\n return new Class({\n type: \"literal\",\n values: Array.isArray(value) ? value : [value],\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _file(Class, params) {\n return new Class({\n type: \"file\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _transform(Class, fn) {\n return new Class({\n type: \"transform\",\n transform: fn,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _optional(Class, innerType) {\n return new Class({\n type: \"optional\",\n innerType,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _nullable(Class, innerType) {\n return new Class({\n type: \"nullable\",\n innerType,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _default(Class, innerType, defaultValue) {\n return new Class({\n type: \"default\",\n innerType,\n get defaultValue() {\n return typeof defaultValue === \"function\" ? defaultValue() : util.shallowClone(defaultValue);\n },\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _nonoptional(Class, innerType, params) {\n return new Class({\n type: \"nonoptional\",\n innerType,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _success(Class, innerType) {\n return new Class({\n type: \"success\",\n innerType,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _catch(Class, innerType, catchValue) {\n return new Class({\n type: \"catch\",\n innerType,\n catchValue: (typeof catchValue === \"function\" ? catchValue : util.constantCatch(catchValue)),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _pipe(Class, in_, out) {\n return new Class({\n type: \"pipe\",\n in: in_,\n out,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _readonly(Class, innerType) {\n return new Class({\n type: \"readonly\",\n innerType,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _templateLiteral(Class, parts, params) {\n return new Class({\n type: \"template_literal\",\n parts,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _lazy(Class, getter) {\n return new Class({\n type: \"lazy\",\n getter,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _promise(Class, innerType) {\n return new Class({\n type: \"promise\",\n innerType,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _custom(Class, fn, _params) {\n const norm = util.normalizeParams(_params);\n norm.abort ?? (norm.abort = true); // default to abort:false\n const schema = new Class({\n type: \"custom\",\n check: \"custom\",\n fn: fn,\n ...norm,\n });\n return schema;\n}\n// same as _custom but defaults to abort:false\n// @__NO_SIDE_EFFECTS__\nexport function _refine(Class, fn, _params) {\n const schema = new Class({\n type: \"custom\",\n check: \"custom\",\n fn: fn,\n ...util.normalizeParams(_params),\n });\n return schema;\n}\n// @__NO_SIDE_EFFECTS__\nexport function _superRefine(fn, params) {\n const ch = _check((payload) => {\n payload.addIssue = (issue) => {\n if (typeof issue === \"string\") {\n payload.issues.push(util.issue(issue, payload.value, ch._zod.def));\n }\n else {\n // for Zod 3 backwards compatibility\n const _issue = issue;\n if (_issue.fatal)\n _issue.continue = false;\n _issue.code ?? (_issue.code = \"custom\");\n if (!(\"input\" in _issue))\n _issue.input = payload.value;\n _issue.inst ?? (_issue.inst = ch);\n _issue.continue ?? (_issue.continue = !ch._zod.def.abort); // abort is always undefined, so this is always true...\n payload.issues.push(util.issue(_issue));\n }\n };\n return fn(payload.value, payload);\n }, params);\n return ch;\n}\n// @__NO_SIDE_EFFECTS__\nexport function _check(fn, params) {\n const ch = new checks.$ZodCheck({\n check: \"custom\",\n ...util.normalizeParams(params),\n });\n ch._zod.check = fn;\n return ch;\n}\n// @__NO_SIDE_EFFECTS__\nexport function describe(description) {\n const ch = new checks.$ZodCheck({ check: \"describe\" });\n ch._zod.onattach = [\n (inst) => {\n const existing = registries.globalRegistry.get(inst) ?? {};\n registries.globalRegistry.add(inst, { ...existing, description });\n },\n ];\n ch._zod.check = () => { }; // no-op check\n return ch;\n}\n// @__NO_SIDE_EFFECTS__\nexport function meta(metadata) {\n const ch = new checks.$ZodCheck({ check: \"meta\" });\n ch._zod.onattach = [\n (inst) => {\n const existing = registries.globalRegistry.get(inst) ?? {};\n registries.globalRegistry.add(inst, { ...existing, ...metadata });\n },\n ];\n ch._zod.check = () => { }; // no-op check\n return ch;\n}\n// @__NO_SIDE_EFFECTS__\nexport function _stringbool(Classes, _params) {\n const params = util.normalizeParams(_params);\n let truthyArray = params.truthy ?? [\"true\", \"1\", \"yes\", \"on\", \"y\", \"enabled\"];\n let falsyArray = params.falsy ?? [\"false\", \"0\", \"no\", \"off\", \"n\", \"disabled\"];\n if (params.case !== \"sensitive\") {\n truthyArray = truthyArray.map((v) => (typeof v === \"string\" ? v.toLowerCase() : v));\n falsyArray = falsyArray.map((v) => (typeof v === \"string\" ? v.toLowerCase() : v));\n }\n const truthySet = new Set(truthyArray);\n const falsySet = new Set(falsyArray);\n const _Codec = Classes.Codec ?? schemas.$ZodCodec;\n const _Boolean = Classes.Boolean ?? schemas.$ZodBoolean;\n const _String = Classes.String ?? schemas.$ZodString;\n const stringSchema = new _String({ type: \"string\", error: params.error });\n const booleanSchema = new _Boolean({ type: \"boolean\", error: params.error });\n const codec = new _Codec({\n type: \"pipe\",\n in: stringSchema,\n out: booleanSchema,\n transform: ((input, payload) => {\n let data = input;\n if (params.case !== \"sensitive\")\n data = data.toLowerCase();\n if (truthySet.has(data)) {\n return true;\n }\n else if (falsySet.has(data)) {\n return false;\n }\n else {\n payload.issues.push({\n code: \"invalid_value\",\n expected: \"stringbool\",\n values: [...truthySet, ...falsySet],\n input: payload.value,\n inst: codec,\n continue: false,\n });\n return {};\n }\n }),\n reverseTransform: ((input, _payload) => {\n if (input === true) {\n return truthyArray[0] || \"true\";\n }\n else {\n return falsyArray[0] || \"false\";\n }\n }),\n error: params.error,\n });\n codec._zod.bag.truthy = truthyArray;\n codec._zod.bag.falsy = falsyArray;\n codec._zod.bag.case = params.case ?? \"insensitive\";\n return codec;\n}\n// @__NO_SIDE_EFFECTS__\nexport function _stringFormat(Class, format, fnOrRegex, _params = {}) {\n const params = util.normalizeParams(_params);\n const def = {\n check: \"string_format\",\n type: \"string\",\n format,\n fn: typeof fnOrRegex === \"function\" ? fnOrRegex : (val) => fnOrRegex.test(val),\n ...params,\n };\n if (fnOrRegex instanceof RegExp) {\n def.pattern = fnOrRegex;\n }\n const inst = new Class(def);\n return inst;\n}\n", "import { globalRegistry } from \"./registries.js\";\nimport { assignProp } from \"./util.js\";\nfunction assignProps(target, ...sources) {\n for (const source of sources) {\n for (const key of Reflect.ownKeys(source)) {\n if (Object.prototype.propertyIsEnumerable.call(source, key)) {\n assignProp(target, key, source[key]);\n }\n }\n }\n return target;\n}\n// function initializeContext<T extends schemas.$ZodType>(inputs: JSONSchemaGeneratorParams<T>): ToJSONSchemaContext<T> {\n// return {\n// processor: inputs.processor,\n// metadataRegistry: inputs.metadata ?? globalRegistry,\n// target: inputs.target ?? \"draft-2020-12\",\n// unrepresentable: inputs.unrepresentable ?? \"throw\",\n// };\n// }\nexport function initializeContext(params) {\n // Normalize target: convert old non-hyphenated versions to hyphenated versions\n let target = params?.target ?? \"draft-2020-12\";\n if (target === \"draft-4\")\n target = \"draft-04\";\n if (target === \"draft-7\")\n target = \"draft-07\";\n return {\n processors: params.processors ?? {},\n metadataRegistry: params?.metadata ?? globalRegistry,\n target,\n unrepresentable: params?.unrepresentable ?? \"throw\",\n override: params?.override ?? (() => { }),\n io: params?.io ?? \"output\",\n counter: 0,\n seen: new Map(),\n sharedDefsExtractedFor: undefined,\n sharedEmitDoneFor: undefined,\n cycles: params?.cycles ?? \"ref\",\n reused: params?.reused ?? \"inline\",\n intersections: [],\n deferred: [],\n external: params?.external ?? undefined,\n };\n}\n/**\n * Applies the `unrepresentable` setting at a site that has no JSON Schema equivalent. Throws\n * `message` unless the setting (or the handler's return value) says otherwise. Returns `true` if a\n * custom JSON Schema was written into `json`, in which case the caller must not write its own.\n */\nexport function handleUnrepresentable(schema, ctx, json, params, message) {\n const result = typeof ctx.unrepresentable === \"function\"\n ? ctx.unrepresentable({ zodSchema: schema, path: params.path, message })\n : ctx.unrepresentable;\n if (result === \"any\")\n return false;\n if (result === undefined || result === \"throw\")\n throw new Error(message);\n Object.assign(json, result);\n return true;\n}\n// never rename this back to `process`: bundler polyfills inject a top-level `const process` that a lexical declaration of the same name collides with (#6397)\nexport function processSchema(schema, ctx, _params = { path: [], schemaPath: [] }) {\n var _a;\n const def = schema._zod.def;\n // check for schema in seens\n const seen = ctx.seen.get(schema);\n if (seen) {\n seen.count++;\n // check if cycle\n const isCycle = _params.schemaPath.includes(schema);\n if (isCycle) {\n seen.cycle = _params.path;\n }\n return seen.schema;\n }\n // initialize\n const result = { schema: {}, count: 1, cycle: undefined, path: _params.path };\n ctx.seen.set(schema, result);\n ctx.sharedDefsExtractedFor = undefined;\n ctx.sharedEmitDoneFor = undefined;\n // custom method overrides default behavior\n const overrideSchema = schema._zod.toJSONSchema?.();\n if (overrideSchema) {\n result.schema = overrideSchema;\n }\n else {\n const params = {\n ..._params,\n schemaPath: [..._params.schemaPath, schema],\n path: _params.path,\n };\n if (schema._zod.processJSONSchema) {\n schema._zod.processJSONSchema(ctx, result.schema, params);\n }\n else {\n const _json = result.schema;\n const processor = ctx.processors[def.type];\n if (!processor) {\n throw new Error(`[toJSONSchema]: Non-representable type encountered: ${def.type}`);\n }\n processor(schema, ctx, _json, params);\n }\n const parent = schema._zod.parent;\n if (parent) {\n // Also set ref if processor didn't (for inheritance)\n if (!result.ref)\n result.ref = parent;\n processSchema(parent, ctx, params);\n ctx.seen.get(parent).isParent = true;\n }\n }\n // metadata\n const meta = ctx.metadataRegistry.get(schema);\n if (meta)\n assignProps(result.schema, meta);\n if (ctx.io === \"input\" && isTransforming(schema)) {\n // examples/defaults only apply to output type of pipe\n delete result.schema.examples;\n delete result.schema.default;\n }\n // set prefault as default\n if (ctx.io === \"input\" && \"_prefault\" in result.schema)\n (_a = result.schema).default ?? (_a.default = result.schema._prefault);\n delete result.schema._prefault;\n // pulling fresh from ctx.seen in case it was overwritten\n const _result = ctx.seen.get(schema);\n return _result.schema;\n}\n/** @deprecated Renamed to `processSchema`. An export alias declares no binding, so it is safe to keep. */\nexport { processSchema as process };\n// Escape a reference token for use in a JSON Pointer fragment (RFC 6901): `~` becomes `~0` and `/` becomes `~1`. The `~` replacement must run first.\nfunction encodeJSONPointerSegment(segment) {\n return segment.replace(/~/g, \"~0\").replace(/\\//g, \"~1\");\n}\nexport function extractDefs(ctx, schema\n// params: EmitParams\n) {\n // iterate over seen map;\n const root = ctx.seen.get(schema);\n if (!root)\n throw new Error(\"Unprocessed schema. This is a bug in Zod.\");\n // With `external` set, every registered schema resolves through the external branch of `makeURI`, so the root branch below produces the same ref the external branch would \u2014 this pass is identical whichever schema it is called with, and only needs to run once.\n if (ctx.external && ctx.sharedDefsExtractedFor === ctx.external)\n return;\n // Track ids to detect duplicates across different schemas\n const idToSchema = new Map();\n for (const entry of ctx.seen.entries()) {\n const id = ctx.metadataRegistry.get(entry[0])?.id;\n if (id) {\n const existing = idToSchema.get(id);\n if (existing && existing !== entry[0]) {\n throw new Error(`Duplicate schema id \"${id}\" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);\n }\n idToSchema.set(id, entry[0]);\n }\n }\n // returns a ref to the schema defId will be empty if the ref points to an external schema (or #)\n const makeURI = (entry) => {\n // comparing the seen objects because sometimes multiple schemas map to the same seen object. e.g. lazy\n // external is configured\n const defsSegment = ctx.target === \"draft-2020-12\" ? \"$defs\" : \"definitions\";\n if (ctx.external) {\n const externalId = ctx.external.registry.get(entry[0])?.id; // ?? \"__shared\";// `__schema${ctx.counter++}`;\n // check if schema is in the external registry\n const uriGenerator = ctx.external.uri ?? ((id) => id);\n if (externalId) {\n return { ref: uriGenerator(externalId) };\n }\n // otherwise, add to __shared\n const id = entry[1].defId ?? entry[1].schema.id ?? `schema${ctx.counter++}`;\n entry[1].defId = id; // set defId so it will be reused if needed\n return { defId: id, ref: `${uriGenerator(\"__shared\")}#/${defsSegment}/${encodeJSONPointerSegment(id)}` };\n }\n const uriPrefix = `#`;\n const defUriPrefix = `${uriPrefix}/${defsSegment}/`;\n // an id-less root has nowhere to be extracted to, so it stays inline and self-references as `#`\n if (entry[1] === root && !entry[1].schema.id) {\n return { ref: uriPrefix };\n }\n // self-contained schema\n const defId = entry[1].schema.id ?? `__schema${ctx.counter++}`;\n return { defId, ref: defUriPrefix + encodeJSONPointerSegment(defId) };\n };\n // stored cached version in `def` property remove all properties, set $ref\n const extractToDef = (entry) => {\n // if the schema is already a reference, do not extract it\n if (entry[1].schema.$ref) {\n return;\n }\n const seen = entry[1];\n const { ref, defId } = makeURI(entry);\n seen.def = { ...seen.schema };\n // defId won't be set if the schema is a reference to an external schema or if the schema is the root schema\n if (defId)\n seen.defId = defId;\n // wipe away all properties except $ref\n const schema = seen.schema;\n for (const key in schema) {\n delete schema[key];\n }\n schema.$ref = ref;\n };\n // throw on cycles\n // break cycles\n if (ctx.cycles === \"throw\") {\n for (const entry of ctx.seen.entries()) {\n const seen = entry[1];\n if (seen.cycle) {\n throw new Error(\"Cycle detected: \" +\n `#/${seen.cycle?.join(\"/\")}/<root>` +\n '\\n\\nSet the `cycles` parameter to `\"ref\"` to resolve cyclical schemas with defs.');\n }\n }\n }\n // extract schemas into $defs\n for (const entry of ctx.seen.entries()) {\n const seen = entry[1];\n // convert root schema to # $ref\n if (schema === entry[0]) {\n extractToDef(entry); // this has special handling for the root schema\n continue;\n }\n // extract schemas that are in the external registry\n if (ctx.external) {\n const ext = ctx.external.registry.get(entry[0])?.id;\n if (schema !== entry[0] && ext) {\n extractToDef(entry);\n continue;\n }\n }\n // extract schemas with `id` meta\n const id = ctx.metadataRegistry.get(entry[0])?.id;\n if (id) {\n extractToDef(entry);\n continue;\n }\n // break cycles\n if (seen.cycle) {\n // any\n extractToDef(entry);\n continue;\n }\n // extract reused schemas\n if (seen.count > 1) {\n if (ctx.reused === \"ref\") {\n extractToDef(entry);\n }\n }\n }\n if (ctx.external)\n ctx.sharedDefsExtractedFor = ctx.external;\n}\n/** Rewrites `anyOf: [{type: \"a\"}, {type: \"b\"}]` to `type: [\"a\", \"b\"]`, which every JSON Schema draft treats as equivalent and most consumers render far better for the nullable case. Only branches that are a bare type assertion qualify \u2014 anything carrying a constraint, `$ref`, `const` or metadata is left alone. Runs after `flattenRef`, so a branch an override decorated or `$defs` extraction turned into a `$ref` is no longer bare and correctly stays in `anyOf`. `oneOf` is excluded: `integer` and `number` overlap, so \"exactly one\" and \"at least one\" are not the same there. OpenAPI 3.0 is excluded: its `type` must be a single string. */\nfunction compactTypeUnion(schema) {\n const options = schema.anyOf;\n if (!Array.isArray(options) || options.length === 0 || schema.type !== undefined)\n return;\n const types = [];\n for (const option of options) {\n if (!option || typeof option !== \"object\")\n return;\n // A branch that is itself a compactible union folds into this one \u2014 nested `anyOf` and a flat `type` array say the same thing. Compacting it first also makes the result independent of the order this pass walks the seen map in.\n compactTypeUnion(option);\n const keys = Object.keys(option);\n if (keys.length !== 1 || keys[0] !== \"type\")\n return;\n const type = option.type;\n for (const member of Array.isArray(type) ? type : [type]) {\n if (typeof member !== \"string\")\n return;\n if (!types.includes(member))\n types.push(member);\n }\n }\n delete schema.anyOf;\n // A `type` array must be non-empty and unique (metaschema); a single member is spelled as a bare string.\n schema.type = types.length === 1 ? types[0] : types;\n}\n/** Keywords `foldIntersection` knows how to combine. Anything else \u2014 `$ref`, `patternProperties`,\n * an annotation like `description` \u2014 makes a member unfoldable, so a constraint this does not\n * understand leaves the `allOf` alone instead of being silently dropped or misattributed. */\nconst FOLDABLE_KEYS = new Set([\"type\", \"properties\", \"required\", \"additionalProperties\"]);\nconst UNION_KEYS = [\"oneOf\", \"anyOf\"];\n/** A member's constraint on a key it does not declare itself. A `catchall` states one; `false`, an absent `additionalProperties`, and the empty schema a loose object emits state nothing. */\nfunction undeclaredConstraint(member) {\n const extra = member.additionalProperties;\n if (extra === undefined || extra === false || typeof extra !== \"object\" || extra === null)\n return null;\n return Object.keys(extra).length ? extra : null;\n}\n/** Combines object members into the single object they describe together, or returns `null` if any of them carries a keyword outside {@link FOLDABLE_KEYS}. */\nfunction foldObjects(members) {\n const objects = [];\n for (const member of members) {\n // A boolean subschema is legal JSON Schema and carries no keywords to fold.\n if (typeof member !== \"object\" || member.type !== \"object\")\n return null;\n for (const key in member) {\n if (!FOLDABLE_KEYS.has(key))\n return null;\n }\n objects.push(member);\n }\n const properties = {};\n const required = new Set();\n for (const object of objects) {\n for (const key in object.properties) {\n // `in` would report a `__proto__` key as already present via the prototype chain and skip it.\n if (Object.prototype.hasOwnProperty.call(properties, key))\n continue;\n // Every member constrains this key: the ones that declare it say how, and a `catchall` member constrains it too even though it does not name it. The key has to satisfy all of them, which is the same intersection one level down.\n const parts = [];\n for (const other of objects) {\n const part = other.properties?.[key] ?? undeclaredConstraint(other);\n if (part === null || part === undefined)\n continue;\n if (!parts.some((seen) => JSON.stringify(seen) === JSON.stringify(part)))\n parts.push(part);\n }\n const merged = parts.length === 1\n ? parts[0]\n : (foldObjects(parts) ?? { allOf: parts });\n assignProp(properties, key, merged);\n }\n for (const key of object.required ?? [])\n required.add(key);\n }\n const folded = { type: \"object\", properties };\n if (required.size)\n folded.required = [...required];\n // A key no member declares is rejected only when every member rejects it, so the fold is closed only when every member is. Otherwise it carries whatever the `catchall` members demand of such a key.\n if (objects.every((object) => object.additionalProperties === false)) {\n folded.additionalProperties = false;\n }\n else {\n const constraints = [];\n for (const object of objects) {\n const constraint = undeclaredConstraint(object);\n if (constraint && !constraints.some((seen) => JSON.stringify(seen) === JSON.stringify(constraint)))\n constraints.push(constraint);\n }\n if (constraints.length === 1)\n folded.additionalProperties = constraints[0];\n else if (constraints.length > 1)\n folded.additionalProperties = { allOf: constraints };\n }\n return folded;\n}\n/** `additionalProperties` in an `allOf` member sees only that member's own `properties`, so two\n * closed object members reject each other's keys and the schema validates nothing. Zod's parser\n * pools the key sets instead \u2014 `handleIntersectionResults` reports a key as unrecognized only when\n * *every* side rejects it \u2014 so the emitted schema has to pool them too, and folding the members\n * into one object is the encoding that says so on every target.\n *\n * This runs from `finalize`, after `extractDefs`, which is what keeps it clear of the `$ref`\n * machinery: a member extracted into `$defs` is already a `$ref` by now and declines to fold, so it\n * keeps its reference and its own closedness rather than being inlined as a stale copy. */\nfunction foldIntersection(json) {\n const allOf = json.allOf;\n if (!Array.isArray(allOf) || allOf.length < 2)\n return;\n // An `override` runs before this pass and may have written object keywords onto the intersection itself. Those are deliberate, so decline rather than overwrite them.\n for (const key of FOLDABLE_KEYS)\n if (key in json)\n return;\n // An intersection distributes over a union: `A & (X | Y)` is `(A & X) | (A & Y)`. Only the first union is distributed over; a second one stays among the members every branch folds against, where it fails the object check and declines the whole intersection rather than multiplying out.\n const unions = allOf.filter((m) => UNION_KEYS.some((k) => Array.isArray(m[k])));\n let folded = null;\n if (!unions.length) {\n folded = foldObjects(allOf);\n }\n else {\n const union = unions[0];\n const keyword = UNION_KEYS.find((k) => Array.isArray(union[k]));\n if (Object.keys(union).length !== 1)\n return;\n const rest = allOf.filter((m) => m !== union);\n const branches = union[keyword].map((branch) => foldObjects([...rest, branch]));\n if (branches.some((b) => !b))\n return;\n folded = { [keyword]: branches };\n }\n if (!folded)\n return;\n delete json.allOf;\n assignProps(json, folded);\n}\nexport function finalize(ctx, schema) {\n const root = ctx.seen.get(schema);\n if (!root)\n throw new Error(\"Unprocessed schema. This is a bug in Zod.\");\n // flatten refs - inherit properties from parent schemas\n const flattenRef = (zodSchema) => {\n const seen = ctx.seen.get(zodSchema);\n // already processed\n if (seen.ref === null)\n return;\n const schema = seen.def ?? seen.schema;\n const _cached = { ...schema };\n const ref = seen.ref;\n seen.ref = null; // prevent infinite recursion\n if (ref) {\n flattenRef(ref);\n const refSeen = ctx.seen.get(ref);\n const refSchema = refSeen.schema;\n // merge referenced schema into current\n if (refSchema.$ref && (ctx.target === \"draft-07\" || ctx.target === \"draft-04\" || ctx.target === \"openapi-3.0\")) {\n // older drafts can't combine $ref with other properties\n schema.allOf = schema.allOf ?? [];\n schema.allOf.push(refSchema);\n }\n else {\n assignProps(schema, refSchema);\n }\n // restore child's own properties (child wins)\n assignProps(schema, _cached);\n const isParentRef = zodSchema._zod.parent === ref;\n // For parent chain, child is a refinement - remove parent-only properties\n if (isParentRef) {\n for (const key in schema) {\n if (key === \"$ref\" || key === \"allOf\")\n continue;\n if (!(key in _cached)) {\n delete schema[key];\n }\n }\n }\n // When ref was extracted to $defs, remove properties that match the definition\n if (refSchema.$ref && refSeen.def) {\n for (const key in schema) {\n if (key === \"$ref\" || key === \"allOf\")\n continue;\n if (key in refSeen.def && JSON.stringify(schema[key]) === JSON.stringify(refSeen.def[key])) {\n delete schema[key];\n }\n }\n }\n }\n // If parent was extracted (has $ref), propagate $ref to this schema. This handles cases like: readonly().meta({id}).describe() where processor sets ref to innerType but parent should be referenced\n const parent = zodSchema._zod.parent;\n if (parent && parent !== ref) {\n // Ensure parent is processed first so its def has inherited properties\n flattenRef(parent);\n const parentSeen = ctx.seen.get(parent);\n if (parentSeen?.schema.$ref) {\n schema.$ref = parentSeen.schema.$ref;\n // De-duplicate with parent's definition\n if (parentSeen.def) {\n for (const key in schema) {\n if (key === \"$ref\" || key === \"allOf\")\n continue;\n if (key in parentSeen.def && JSON.stringify(schema[key]) === JSON.stringify(parentSeen.def[key])) {\n delete schema[key];\n }\n }\n }\n }\n }\n // execute overrides\n ctx.override({\n zodSchema: zodSchema,\n jsonSchema: schema,\n path: seen.path ?? [],\n });\n };\n // Flattening walks the whole map and clears each `ref` as it goes, so a second call over the same map is a no-op scan. Skip it outright once it has run for a registry conversion.\n if (!ctx.external || ctx.sharedEmitDoneFor !== ctx.external) {\n for (const entry of [...ctx.seen.entries()].reverse()) {\n flattenRef(entry[0]);\n }\n if (ctx.target !== \"openapi-3.0\") {\n for (const entry of ctx.seen.entries()) {\n compactTypeUnion(entry[1].def ?? entry[1].schema);\n }\n }\n for (const rewrite of ctx.deferred)\n rewrite();\n // After flattening, every member that was extracted is a `$ref`, so the fold sees the final shape. A schema that inherits an intersection \u2014 through `z.lazy`, or any `ref` chain \u2014 holds the same `allOf` array, so fold by array identity to catch every copy.\n if (ctx.intersections.length) {\n const carriers = new Map();\n for (const seen of ctx.seen.values()) {\n for (const json of [seen.schema, seen.def]) {\n const allOf = json?.allOf;\n if (!Array.isArray(allOf))\n continue;\n const existing = carriers.get(allOf);\n if (existing)\n existing.push(json);\n else\n carriers.set(allOf, [json]);\n }\n }\n for (const allOf of ctx.intersections) {\n for (const json of carriers.get(allOf) ?? [])\n foldIntersection(json);\n }\n }\n }\n const result = {};\n if (ctx.target === \"draft-2020-12\") {\n result.$schema = \"https://json-schema.org/draft/2020-12/schema\";\n }\n else if (ctx.target === \"draft-07\") {\n result.$schema = \"http://json-schema.org/draft-07/schema#\";\n }\n else if (ctx.target === \"draft-04\") {\n result.$schema = \"http://json-schema.org/draft-04/schema#\";\n }\n else if (ctx.target === \"openapi-3.0\") {\n // OpenAPI 3.0 schema objects should not include a $schema property\n }\n else {\n // Arbitrary string values are allowed but won't have a $schema property set\n }\n if (ctx.external?.uri) {\n const id = ctx.external.registry.get(schema)?.id;\n if (!id)\n throw new Error(\"Schema is missing an `id` property\");\n result.$id = ctx.external.uri(id);\n }\n // when the root was extracted into $defs, `root.schema` is the `$ref` wrapper and `root.def` is the body that now lives under $defs\n assignProps(result, root.defId ? root.schema : (root.def ?? root.schema));\n // The `id` in `.meta()` is a Zod-specific registration tag used to extract schemas into $defs \u2014 it is not user-facing JSON Schema metadata. Strip it from the output body where it would otherwise leak. The id is preserved implicitly via the $defs key (and via $ref paths).\n const rootMetaId = ctx.metadataRegistry.get(schema)?.id;\n if (rootMetaId !== undefined && result.id === rootMetaId)\n delete result.id;\n // build defs object. With `external`, `defs` is the shared object every schema writes into, so the same entries are reassigned on every call. Without it, `defs` is fresh per call and must be rebuilt.\n const defs = ctx.external?.defs ?? {};\n if (!ctx.external || ctx.sharedEmitDoneFor !== ctx.external) {\n for (const entry of ctx.seen.entries()) {\n const seen = entry[1];\n if (seen.def && seen.defId) {\n if (seen.def.id === seen.defId)\n delete seen.def.id;\n assignProp(defs, seen.defId, seen.def);\n }\n }\n }\n if (ctx.external)\n ctx.sharedEmitDoneFor = ctx.external;\n // set definitions in result\n if (ctx.external) {\n }\n else {\n if (Object.keys(defs).length > 0) {\n if (ctx.target === \"draft-2020-12\") {\n result.$defs = defs;\n }\n else {\n result.definitions = defs;\n }\n }\n }\n try {\n // this \"finalizes\" this schema and ensures all cycles are removed each call to finalize() is functionally independent though the seen map is shared\n const finalized = JSON.parse(JSON.stringify(result));\n Object.defineProperty(finalized, \"~standard\", {\n value: {\n ...schema[\"~standard\"],\n jsonSchema: {\n input: createStandardJSONSchemaMethod(schema, \"input\", ctx.processors),\n output: createStandardJSONSchemaMethod(schema, \"output\", ctx.processors),\n },\n },\n enumerable: false,\n writable: false,\n });\n return finalized;\n }\n catch (_err) {\n throw new Error(\"Error converting schema to JSON.\");\n }\n}\nfunction isTransforming(_schema, _ctx) {\n const ctx = _ctx ?? { seen: new Set() };\n if (ctx.seen.has(_schema))\n return false;\n ctx.seen.add(_schema);\n const def = _schema._zod.def;\n if (def.type === \"transform\")\n return true;\n if (def.type === \"array\")\n return isTransforming(def.element, ctx);\n if (def.type === \"set\")\n return isTransforming(def.valueType, ctx);\n if (def.type === \"lazy\")\n return isTransforming(def.getter(), ctx);\n if (def.type === \"promise\" ||\n def.type === \"optional\" ||\n def.type === \"nonoptional\" ||\n def.type === \"nullable\" ||\n def.type === \"readonly\" ||\n def.type === \"default\" ||\n def.type === \"prefault\" ||\n def.type === \"catch\") {\n return isTransforming(def.innerType, ctx);\n }\n if (def.type === \"intersection\") {\n return isTransforming(def.left, ctx) || isTransforming(def.right, ctx);\n }\n if (def.type === \"record\" || def.type === \"map\") {\n return isTransforming(def.keyType, ctx) || isTransforming(def.valueType, ctx);\n }\n if (def.type === \"pipe\") {\n if (_schema._zod.traits.has(\"$ZodCodec\"))\n return true;\n return isTransforming(def.in, ctx) || isTransforming(def.out, ctx);\n }\n if (def.type === \"object\") {\n for (const key in def.shape) {\n if (isTransforming(def.shape[key], ctx))\n return true;\n }\n return false;\n }\n if (def.type === \"union\") {\n for (const option of def.options) {\n if (isTransforming(option, ctx))\n return true;\n }\n return false;\n }\n if (def.type === \"tuple\") {\n for (const item of def.items) {\n if (isTransforming(item, ctx))\n return true;\n }\n if (def.rest && isTransforming(def.rest, ctx))\n return true;\n return false;\n }\n return false;\n}\n/**\n * Creates a toJSONSchema method for a schema instance.\n * This encapsulates the logic of initializing context, processing, extracting defs, and finalizing.\n */\nexport const createToJSONSchemaMethod = (schema, processors = {}) => (params) => {\n const ctx = initializeContext({ ...params, processors });\n processSchema(schema, ctx);\n extractDefs(ctx, schema);\n return finalize(ctx, schema);\n};\nexport const createStandardJSONSchemaMethod = (schema, io, processors = {}) => (params) => {\n const { libraryOptions, target } = params ?? {};\n const ctx = initializeContext({ ...(libraryOptions ?? {}), target, io, processors });\n processSchema(schema, ctx);\n extractDefs(ctx, schema);\n return finalize(ctx, schema);\n};\n", "import * as regexes from \"./regexes.js\";\nimport { base64Charset, base64urlCharset } from \"./schemas.js\";\nimport { extractDefs, finalize, handleUnrepresentable, initializeContext, processSchema, } from \"./to-json-schema.js\";\nimport { BIGINT_FORMAT_RANGES, NUMBER_FORMAT_RANGES, assignProp, getEnumValues } from \"./util.js\";\nconst narrowMin = (agg, key, value) => {\n if (agg[key] === undefined || value > agg[key])\n agg[key] = value;\n};\nconst narrowMax = (agg, key, value) => {\n if (agg[key] === undefined || value < agg[key])\n agg[key] = value;\n};\nconst narrowBoth = (agg, value) => {\n narrowMin(agg, \"minimum\", value);\n narrowMax(agg, \"maximum\", value);\n};\nconst addDivisor = (agg, value) => {\n agg.multipleOf ?? (agg.multipleOf = []);\n if (!agg.multipleOf.includes(value))\n agg.multipleOf.push(value);\n};\nconst addPattern = (agg, pattern) => {\n agg.patterns ?? (agg.patterns = new Set());\n agg.patterns.add(pattern);\n};\nconst intersectMime = (agg, mime) => {\n agg.mime = agg.mime ? agg.mime.filter((m) => mime.includes(m)) : [...mime];\n};\n// last-wins, matching the bag's historical write order; the flag keeps an integer format from being lost to a later float one\nconst setFormat = (agg, format) => {\n agg.format = format;\n if (format.includes(\"int\"))\n agg.isInt = true;\n};\nconst minContributor = (agg, def) => narrowMin(agg, \"minimum\", def.minimum);\nconst maxContributor = (agg, def) => narrowMax(agg, \"maximum\", def.maximum);\nconst formatContributor = (ranges) => (agg, def) => {\n setFormat(agg, def.format);\n const [minimum, maximum] = ranges[def.format];\n narrowMin(agg, \"minimum\", minimum);\n narrowMax(agg, \"maximum\", maximum);\n};\nconst contributors = {\n greater_than: (agg, def) => narrowMin(agg, def.inclusive ? \"minimum\" : \"exclusiveMinimum\", def.value),\n less_than: (agg, def) => narrowMax(agg, def.inclusive ? \"maximum\" : \"exclusiveMaximum\", def.value),\n multiple_of: (agg, def) => addDivisor(agg, def.value),\n number_format: formatContributor(NUMBER_FORMAT_RANGES),\n bigint_format: formatContributor(BIGINT_FORMAT_RANGES),\n min_length: minContributor,\n max_length: maxContributor,\n length_equals: (agg, def) => narrowBoth(agg, def.length),\n min_size: minContributor,\n max_size: maxContributor,\n size_equals: (agg, def) => narrowBoth(agg, def.size),\n string_format: (agg, def) => {\n setFormat(agg, def.format);\n if (def.pattern)\n addPattern(agg, def.pattern);\n if (def.format === \"base64\" || def.format === \"base64url\")\n agg.contentEncoding = def.format;\n if (def.local || def.precision === -1)\n agg.laxFormat = true;\n },\n mime_type: (agg, def) => intersectMime(agg, def.mime),\n};\nexport function aggregateChecks(schema) {\n const agg = {};\n const def = schema._zod.def;\n // a format schema is its own first check, same rule as $ZodType init\n const list = schema._zod.traits.has(\"$ZodCheck\")\n ? [schema, ...(def.checks ?? [])]\n : (def.checks ?? []);\n for (const ch of list)\n contributors[ch._zod.def.check]?.(agg, ch._zod.def);\n // reconcile with the bag so third-party onattach contributions still land; first-party residue is never tighter than the fold, so merging it back is idempotent for one and additive for the other\n const bag = schema._zod.bag;\n if (bag.minimum !== undefined)\n narrowMin(agg, \"minimum\", bag.minimum);\n if (bag.exclusiveMinimum !== undefined)\n narrowMin(agg, \"exclusiveMinimum\", bag.exclusiveMinimum);\n if (bag.maximum !== undefined)\n narrowMax(agg, \"maximum\", bag.maximum);\n if (bag.exclusiveMaximum !== undefined)\n narrowMax(agg, \"exclusiveMaximum\", bag.exclusiveMaximum);\n if (bag.multipleOf !== undefined)\n addDivisor(agg, bag.multipleOf);\n if (bag.format !== undefined) {\n agg.format ?? (agg.format = bag.format);\n if (bag.format.includes(\"int\"))\n agg.isInt = true;\n }\n if (bag.mime)\n intersectMime(agg, bag.mime);\n for (const pattern of bag.patterns ?? [])\n addPattern(agg, pattern);\n return agg;\n}\nconst formatMap = {\n guid: \"uuid\",\n url: \"uri\",\n datetime: \"date-time\",\n json_string: \"json-string\",\n regex: \"\", // do not set\n};\n// ==================== SIMPLE TYPE PROCESSORS ====================\n// the runtime patterns are lax so parse paths never overflow the regex stack; the emitted schema swaps in the exact block forms, which zod itself never executes\nconst exactPatterns = new Map([\n [base64Charset, regexes.base64],\n [base64urlCharset, regexes.base64url],\n]);\nconst exactPattern = (p) => exactPatterns.get(p) ?? p;\nexport const stringProcessor = (schema, ctx, _json, _params) => {\n const json = _json;\n json.type = \"string\";\n const { minimum, maximum, format, patterns, contentEncoding, laxFormat } = aggregateChecks(schema);\n if (typeof minimum === \"number\")\n json.minLength = minimum;\n if (typeof maximum === \"number\")\n json.maxLength = maximum;\n // custom pattern overrides format\n if (format) {\n json.format = formatMap[format] ?? format;\n if (json.format === \"\")\n delete json.format; // empty format is not valid\n // `z.iso.time()` is never full-time, and `laxFormat` carries the datetime shapes that also accept what their keyword forbids\n if (format === \"time\" || laxFormat) {\n delete json.format;\n }\n }\n if (contentEncoding)\n json.contentEncoding = contentEncoding;\n if (patterns && patterns.size > 0) {\n const patternList = [...patterns].map(exactPattern);\n if (patternList.length === 1)\n json.pattern = patternList[0].source;\n else if (patternList.length > 1) {\n json.allOf = [\n ...patternList.map((regex) => ({\n ...(ctx.target === \"draft-07\" || ctx.target === \"draft-04\" || ctx.target === \"openapi-3.0\"\n ? { type: \"string\" }\n : {}),\n pattern: regex.source,\n })),\n ];\n }\n }\n};\nexport const numberProcessor = (schema, ctx, _json, params) => {\n const json = _json;\n const { minimum, maximum, multipleOf, exclusiveMaximum, exclusiveMinimum, isInt } = aggregateChecks(schema);\n json.type = isInt ? \"integer\" : \"number\";\n // when both minimum and exclusiveMinimum exist, pick the more restrictive one\n const exMin = typeof exclusiveMinimum === \"number\" && exclusiveMinimum >= (minimum ?? Number.NEGATIVE_INFINITY);\n const exMax = typeof exclusiveMaximum === \"number\" && exclusiveMaximum <= (maximum ?? Number.POSITIVE_INFINITY);\n const legacy = ctx.target === \"draft-04\" || ctx.target === \"openapi-3.0\";\n if (exMin) {\n if (legacy) {\n json.minimum = exclusiveMinimum;\n json.exclusiveMinimum = true;\n }\n else {\n json.exclusiveMinimum = exclusiveMinimum;\n }\n }\n else if (typeof minimum === \"number\") {\n json.minimum = minimum;\n }\n if (exMax) {\n if (legacy) {\n json.maximum = exclusiveMaximum;\n json.exclusiveMaximum = true;\n }\n else {\n json.exclusiveMaximum = exclusiveMaximum;\n }\n }\n else if (typeof maximum === \"number\") {\n json.maximum = maximum;\n }\n if (multipleOf) {\n // JSON Schema requires a divisor strictly greater than zero, and a non-finite one does not survive JSON at all. A negative divisor accepts exactly what its absolute value accepts, so it still maps; zero, NaN and Infinity have no keyword form.\n const divisors = new Set();\n for (const divisor of multipleOf) {\n if (Number.isFinite(divisor) && divisor !== 0)\n divisors.add(Math.abs(divisor));\n else\n handleUnrepresentable(schema, ctx, json, params, `A multipleOf divisor of ${divisor} cannot be represented in JSON Schema`);\n }\n // chained divisors are a conjunction the keyword cannot carry alone, so extras ride an allOf, same as stacked patterns\n const [first, ...rest] = divisors;\n if (first !== undefined)\n json.multipleOf = first;\n if (rest.length)\n json.allOf = [...(json.allOf ?? []), ...rest.map((m) => ({ multipleOf: m }))];\n }\n};\nexport const booleanProcessor = (_schema, _ctx, json, _params) => {\n json.type = \"boolean\";\n};\nexport const bigintProcessor = (schema, ctx, json, params) => {\n handleUnrepresentable(schema, ctx, json, params, \"BigInt cannot be represented in JSON Schema\");\n};\nexport const symbolProcessor = (schema, ctx, json, params) => {\n handleUnrepresentable(schema, ctx, json, params, \"Symbols cannot be represented in JSON Schema\");\n};\nexport const nullProcessor = (_schema, ctx, json, _params) => {\n if (ctx.target === \"openapi-3.0\") {\n json.type = \"string\";\n json.nullable = true;\n json.enum = [null];\n }\n else {\n json.type = \"null\";\n }\n};\nexport const undefinedProcessor = (schema, ctx, json, params) => {\n handleUnrepresentable(schema, ctx, json, params, \"Undefined cannot be represented in JSON Schema\");\n};\nexport const voidProcessor = (schema, ctx, json, params) => {\n handleUnrepresentable(schema, ctx, json, params, \"Void cannot be represented in JSON Schema\");\n};\nexport const neverProcessor = (_schema, _ctx, json, _params) => {\n json.not = {};\n};\nexport const anyProcessor = (_schema, _ctx, _json, _params) => {\n // empty schema accepts anything\n};\nexport const unknownProcessor = (_schema, _ctx, _json, _params) => {\n // empty schema accepts anything\n};\nexport const dateProcessor = (schema, ctx, json, params) => {\n handleUnrepresentable(schema, ctx, json, params, \"Date cannot be represented in JSON Schema\");\n};\nexport const enumProcessor = (schema, _ctx, json, _params) => {\n const def = schema._zod.def;\n const values = getEnumValues(def.entries);\n // an empty enum accepts nothing, same as z.never()\n if (values.length === 0) {\n json.not = {};\n return;\n }\n // Number enums can have both string and number values\n if (values.every((v) => typeof v === \"number\"))\n json.type = \"number\";\n if (values.every((v) => typeof v === \"string\"))\n json.type = \"string\";\n json.enum = values;\n};\nexport const literalProcessor = (schema, ctx, json, params) => {\n const def = schema._zod.def;\n // a literal with no values accepts nothing, same as z.never()\n if (def.values.length === 0) {\n json.not = {};\n return;\n }\n const vals = [];\n for (const val of def.values) {\n if (val === undefined) {\n // a custom schema replaces the whole literal, so there is nothing left to accumulate\n if (handleUnrepresentable(schema, ctx, json, params, \"Literal `undefined` cannot be represented in JSON Schema\"))\n return;\n // otherwise do not add to vals\n }\n else if (typeof val === \"bigint\") {\n if (handleUnrepresentable(schema, ctx, json, params, \"BigInt literals cannot be represented in JSON Schema\"))\n return;\n vals.push(Number(val));\n }\n else {\n vals.push(val);\n }\n }\n if (vals.length === 0) {\n // do nothing (an undefined literal was stripped)\n }\n else if (vals.length === 1) {\n const val = vals[0];\n json.type = val === null ? \"null\" : typeof val;\n if (ctx.target === \"draft-04\" || ctx.target === \"openapi-3.0\") {\n json.enum = [val];\n }\n else {\n json.const = val;\n }\n }\n else {\n if (vals.every((v) => typeof v === \"number\"))\n json.type = \"number\";\n if (vals.every((v) => typeof v === \"string\"))\n json.type = \"string\";\n if (vals.every((v) => typeof v === \"boolean\"))\n json.type = \"boolean\";\n if (vals.every((v) => v === null))\n json.type = \"null\";\n json.enum = vals;\n }\n};\nexport const nanProcessor = (schema, ctx, json, params) => {\n handleUnrepresentable(schema, ctx, json, params, \"NaN cannot be represented in JSON Schema\");\n};\nexport const templateLiteralProcessor = (schema, _ctx, json, _params) => {\n const _json = json;\n const pattern = schema._zod.pattern;\n if (!pattern)\n throw new Error(\"Pattern not found in template literal\");\n _json.type = \"string\";\n _json.pattern = pattern.source;\n};\nexport const fileProcessor = (schema, _ctx, json, _params) => {\n const _json = json;\n _json.type = \"string\";\n _json.format = \"binary\";\n _json.contentEncoding = \"binary\";\n const { minimum, maximum, mime } = aggregateChecks(schema);\n if (minimum !== undefined)\n _json.minLength = minimum;\n if (maximum !== undefined)\n _json.maxLength = maximum;\n if (!mime)\n return;\n // an empty intersection means the mime checks share no value, so nothing passes at runtime; `anyOf` must be non-empty, so the false schema is `not: {}`\n if (mime.length === 0)\n _json.not = {};\n else if (mime.length === 1)\n _json.contentMediaType = mime[0];\n // only contentMediaType differs, so the shared props stay at the root\n else\n _json.anyOf = mime.map((m) => ({ contentMediaType: m }));\n};\nexport const successProcessor = (_schema, _ctx, json, _params) => {\n json.type = \"boolean\";\n};\nexport const customProcessor = (schema, ctx, json, params) => {\n handleUnrepresentable(schema, ctx, json, params, \"Custom types cannot be represented in JSON Schema\");\n};\nexport const functionProcessor = (schema, ctx, json, params) => {\n handleUnrepresentable(schema, ctx, json, params, \"Function types cannot be represented in JSON Schema\");\n};\nexport const transformProcessor = (schema, ctx, json, params) => {\n handleUnrepresentable(schema, ctx, json, params, \"Transforms cannot be represented in JSON Schema\");\n};\nexport const mapProcessor = (schema, ctx, json, params) => {\n handleUnrepresentable(schema, ctx, json, params, \"Map cannot be represented in JSON Schema\");\n};\nexport const setProcessor = (schema, ctx, json, params) => {\n handleUnrepresentable(schema, ctx, json, params, \"Set cannot be represented in JSON Schema\");\n};\n// ==================== COMPOSITE TYPE PROCESSORS ====================\nexport const arrayProcessor = (schema, ctx, _json, params) => {\n const json = _json;\n const def = schema._zod.def;\n const { minimum, maximum } = aggregateChecks(schema);\n if (typeof minimum === \"number\")\n json.minItems = minimum;\n if (typeof maximum === \"number\")\n json.maxItems = maximum;\n json.type = \"array\";\n json.items = processSchema(def.element, ctx, {\n ...params,\n path: [...params.path, \"items\"],\n });\n};\n// Transform and catch set `optin = \"optional\"` at runtime so the parser lets them observe an\n// absent key, but their declared input type stays required. An input JSON Schema describes the\n// declared type, so resolve past them to the schema that actually carries the optionality.\n// Used by both `objectProcessor` (for `required`) and `tupleProcessor` (for `minItems`); see\n// wiki/optionality.md, \"The JSON Schema emitter reads the *static* value\".\nfunction inputOptin(schema) {\n const def = schema._zod.def;\n if (def.type === \"pipe\" && def.in._zod.traits.has(\"$ZodTransform\")) {\n return inputOptin(def.out);\n }\n if (def.type === \"catch\") {\n return inputOptin(def.innerType);\n }\n return schema._zod.optin;\n}\nexport const objectProcessor = (schema, ctx, _json, params) => {\n const json = _json;\n const def = schema._zod.def;\n const shape = def.shape;\n // dropping it while still emitting `additionalProperties: false` would emit a schema that rejects data this one requires\n const symbolKeys = Object.getOwnPropertySymbols(shape);\n if (symbolKeys.length &&\n handleUnrepresentable(schema, ctx, json, params, \"Symbol keys cannot be represented in JSON Schema\")) {\n return;\n }\n json.type = \"object\";\n json.properties = {};\n for (const key in shape) {\n // assignProp so a __proto__ key becomes an own property instead of hitting the inherited setter on the plain {} we build into\n assignProp(json.properties, key, processSchema(shape[key], ctx, {\n ...params,\n path: [...params.path, \"properties\", key],\n }));\n }\n // required keys\n const requiredKeys = [];\n for (const key of Object.keys(shape)) {\n const field = def.shape[key];\n if (ctx.io === \"input\" ? inputOptin(field) === undefined : field._zod.optout === undefined) {\n requiredKeys.push(key);\n }\n }\n if (requiredKeys.length > 0) {\n json.required = requiredKeys;\n }\n // catchall\n if (def.catchall?._zod.def.type === \"never\") {\n // strict\n json.additionalProperties = false;\n }\n else if (!def.catchall) {\n // regular\n if (ctx.io === \"output\")\n json.additionalProperties = false;\n }\n else if (def.catchall) {\n json.additionalProperties = processSchema(def.catchall, ctx, {\n ...params,\n path: [...params.path, \"additionalProperties\"],\n });\n }\n};\nexport const unionProcessor = (schema, ctx, json, params) => {\n const def = schema._zod.def;\n // Exclusive unions (inclusive === false) use oneOf (exactly one match) instead of anyOf (one or more matches). This includes both z.xor() and discriminated unions\n const isExclusive = def.inclusive === false;\n const options = def.options.map((x, i) => processSchema(x, ctx, {\n ...params,\n path: [...params.path, isExclusive ? \"oneOf\" : \"anyOf\", i],\n }));\n if (isExclusive) {\n json.oneOf = options;\n }\n else {\n json.anyOf = options;\n }\n};\nexport const intersectionProcessor = (schema, ctx, json, params) => {\n const def = schema._zod.def;\n const a = processSchema(def.left, ctx, {\n ...params,\n path: [...params.path, \"allOf\", 0],\n });\n const b = processSchema(def.right, ctx, {\n ...params,\n path: [...params.path, \"allOf\", 1],\n });\n const isSimpleIntersection = (val) => \"allOf\" in val && Object.keys(val).length === 1;\n const allOf = [\n ...(isSimpleIntersection(a) ? a.allOf : [a]),\n ...(isSimpleIntersection(b) ? b.allOf : [b]),\n ];\n json.allOf = allOf;\n // Recorded innermost first, so a nested intersection has already folded by the time this one is considered. The array is the handle rather than the schema, because a wrapper that inherits this schema shares the same array; `finalize` folds every object holding it. See `foldIntersection`.\n ctx.intersections.push(allOf);\n};\nexport const tupleProcessor = (schema, ctx, _json, params) => {\n const json = _json;\n const def = schema._zod.def;\n json.type = \"array\";\n const prefixPath = ctx.target === \"draft-2020-12\" ? \"prefixItems\" : \"items\";\n const restPath = ctx.target === \"draft-2020-12\" ? \"items\" : ctx.target === \"openapi-3.0\" ? \"items\" : \"additionalItems\";\n const prefixItems = def.items.map((x, i) => processSchema(x, ctx, {\n ...params,\n path: [...params.path, prefixPath, i],\n }));\n const rest = def.rest\n ? processSchema(def.rest, ctx, {\n ...params,\n path: [...params.path, restPath, ...(ctx.target === \"openapi-3.0\" ? [def.items.length] : [])],\n })\n : null;\n let minItems = def.items.length;\n while (minItems > 0) {\n const item = def.items[minItems - 1];\n const optional = ctx.io === \"input\" ? inputOptin(item) !== undefined : item._zod.optout === \"optional\";\n if (!optional)\n break;\n minItems--;\n }\n const maxItems = def.items.length;\n const isClosed = !def.rest;\n if (ctx.target === \"draft-2020-12\") {\n json.prefixItems = prefixItems;\n if (isClosed) {\n json.items = false;\n }\n else if (rest) {\n json.items = rest;\n }\n if (minItems > 0)\n json.minItems = minItems;\n if (isClosed)\n json.maxItems = maxItems;\n }\n else if (ctx.target === \"openapi-3.0\") {\n json.items = {\n anyOf: prefixItems,\n };\n if (rest) {\n json.items.anyOf.push(rest);\n }\n if (minItems > 0)\n json.minItems = minItems;\n if (isClosed)\n json.maxItems = maxItems;\n }\n else {\n json.items = prefixItems;\n if (isClosed) {\n json.additionalItems = false;\n }\n else if (rest) {\n json.additionalItems = rest;\n }\n if (minItems > 0)\n json.minItems = minItems;\n if (isClosed)\n json.maxItems = maxItems;\n }\n // explicit user-defined length checks take precedence\n const { minimum, maximum } = aggregateChecks(schema);\n if (typeof minimum === \"number\")\n json.minItems = minimum;\n if (typeof maximum === \"number\")\n json.maxItems = maximum;\n};\n/** JSON object keys are always strings, so a numeric record key schema is re-expressed over the\n * numeric-string form the record parser matches. Deferred to `finalize`, after the flatten: a key\n * behind a wrapper only carries its own `type` before then, and a union key only has its branches.\n *\n * A numeric bound cannot apply to a property name, so `minimum` and its siblings are dropped rather\n * than carried over: keeping them beside `type: \"string\"` reproduces the match-nothing schema this\n * exists to fix. A key that carries one therefore emits wider than the record parses \u2014 `z.record(z.number().min(5), V)`\n * accepts `\"3\"` \u2014 which is the deliberate trade, since throwing on it would reject an ordinary schema\n * outright. */\nfunction stringifyKeyNames(bySchema, json, visited) {\n // an extracted key that rewrites cannot go on sharing its definition \u2014 the string form a key position needs is not the number form every other reference wants \u2014 so it inlines. One that does not rewrite keeps the `$ref`.\n if (json.$ref) {\n // a recursive key holds its own reference inside its definition, so a node already on the path is left alone rather than resolved again\n if (visited.has(json))\n return json;\n visited.add(json);\n const def = bySchema.get(json)?.def;\n if (!def)\n return json;\n const inlined = stringifyKeyNames(bySchema, def, visited);\n return inlined === def ? json : inlined;\n }\n for (const keyword of [\"anyOf\", \"oneOf\"]) {\n const branches = json[keyword];\n if (!Array.isArray(branches))\n continue;\n const mapped = branches.map((branch) => stringifyKeyNames(bySchema, branch, visited));\n // rebuilding regardless would detach a key that had nothing to re-express, dropping its `$ref` and leaking the internal `id`\n if (mapped.some((branch, i) => branch !== branches[i]))\n json = { ...json, [keyword]: mapped };\n }\n // a member that already admits a string leaves the key unconstrained, so the node's own type re-expresses only when every member is numeric\n const types = Array.isArray(json.type) ? json.type : [json.type];\n const numericType = !types.includes(\"string\") && types.some((t) => t === \"number\" || t === \"integer\");\n // a heterogeneous key carries no type at all, so its numeric members are caught here instead\n const values = json.enum ?? (json.const !== undefined ? [json.const] : undefined);\n if (!numericType && !values?.some((v) => typeof v === \"number\"))\n return json;\n const { minimum, maximum, exclusiveMinimum, exclusiveMaximum, multipleOf, format, id, ...rest } = json;\n if (rest.enum)\n rest.enum = rest.enum.map((v) => (typeof v === \"number\" ? String(v) : v));\n else if (typeof rest.const === \"number\")\n rest.const = String(rest.const);\n // a heterogeneous key keeps its absent type: the stringified members already say what a key may be\n if (!numericType)\n return rest;\n rest.type = \"string\";\n if (!values)\n rest.pattern = (types.includes(\"number\") ? regexes.number : regexes.integer).source;\n return rest;\n}\n/** Every record of one conversion, so the carriers are found in a single pass rather than once per record. */\nconst pendingRecords = new WeakMap();\nfunction rewriteKeyNames(ctx) {\n // an extracted key is resolved by the object `extractToDef` left in its place, so the map is built once rather than searched per reference. `_zod.toJSONSchema` can hand the same object to two schemas, so the first entry carrying a body wins, as a search would have found it.\n const bySchema = new Map();\n for (const entry of ctx.seen.values()) {\n if (entry.def && !bySchema.has(entry.schema))\n bySchema.set(entry.schema, entry);\n }\n const rewrites = new Map();\n for (const record of pendingRecords.get(ctx) ?? []) {\n const seen = ctx.seen.get(record);\n const names = (seen?.def ?? seen?.schema)?.propertyNames;\n if (!names || names === true || rewrites.has(names))\n continue;\n const rewritten = stringifyKeyNames(bySchema, names, new Set());\n if (rewritten !== names)\n rewrites.set(names, rewritten);\n }\n if (!rewrites.size)\n return;\n // the flatten has already copied each record's own properties onto every wrapper by reference, and an extracted body is another such copy, so every carrier holding a rewritten key is updated together\n for (const entry of ctx.seen.values()) {\n for (const carrier of [entry.schema, entry.def]) {\n const rewritten = carrier && rewrites.get(carrier.propertyNames);\n if (rewritten)\n carrier.propertyNames = rewritten;\n }\n }\n}\nexport const recordProcessor = (schema, ctx, _json, params) => {\n const json = _json;\n const def = schema._zod.def;\n json.type = \"object\";\n // For looseRecord with regex patterns, use patternProperties. This correctly represents \"only validate keys matching the pattern\" semantics and composes well with allOf (intersections)\n const keyType = def.keyType;\n const patterns = aggregateChecks(keyType).patterns;\n if (def.mode === \"loose\" && patterns && patterns.size > 0) {\n // Use patternProperties for looseRecord with regex patterns\n const valueSchema = processSchema(def.valueType, ctx, {\n ...params,\n path: [...params.path, \"patternProperties\", \"*\"],\n });\n json.patternProperties = {};\n for (const pattern of patterns) {\n assignProp(json.patternProperties, exactPattern(pattern).source, valueSchema);\n }\n }\n else {\n // Default behavior: use propertyNames + additionalProperties\n if (ctx.target === \"draft-07\" || ctx.target === \"draft-2020-12\") {\n json.propertyNames = processSchema(def.keyType, ctx, {\n ...params,\n path: [...params.path, \"propertyNames\"],\n });\n let pending = pendingRecords.get(ctx);\n if (!pending) {\n pending = [];\n pendingRecords.set(ctx, pending);\n ctx.deferred.push(() => rewriteKeyNames(ctx));\n }\n pending.push(schema);\n }\n json.additionalProperties = processSchema(def.valueType, ctx, {\n ...params,\n path: [...params.path, \"additionalProperties\"],\n });\n }\n // Add required for keys with discrete values (enum, literal, etc.)\n const keyValues = keyType._zod.values;\n // Every key shares one value schema, so an optional-in value makes the whole key set omittable on input. Output keeps them: the exhaustive branch assigns every key, even one whose value came back undefined.\n const omittableOnInput = ctx.io === \"input\" && inputOptin(def.valueType) !== undefined;\n if (keyValues && !def.partial && !omittableOnInput) {\n const validKeyValues = [...keyValues].filter((v) => typeof v === \"string\" || typeof v === \"number\");\n if (validKeyValues.length > 0) {\n json.required = validKeyValues.map(String);\n }\n }\n};\nexport const nullableProcessor = (schema, ctx, json, params) => {\n const def = schema._zod.def;\n const inner = processSchema(def.innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n if (ctx.target === \"openapi-3.0\") {\n seen.ref = def.innerType;\n json.nullable = true;\n }\n else {\n json.anyOf = [inner, { type: \"null\" }];\n }\n};\nexport const nonoptionalProcessor = (schema, ctx, _json, params) => {\n const def = schema._zod.def;\n processSchema(def.innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n seen.ref = def.innerType;\n};\n/** Round-trips a default value through JSON so the emitted schema is guaranteed to be valid JSON.\n * A BigInt has no reliable encoding, so it goes through `unrepresentable` like any other\n * unrepresentable value. Returns a sentinel when the caller must not write a default of its own. */\nconst UNREPRESENTABLE_DEFAULT = Symbol();\nfunction serializeDefaultValue(value, schema, ctx, json, params) {\n let unrepresentable = false;\n const serialized = JSON.stringify(value, (_, val) => {\n if (typeof val !== \"bigint\")\n return val;\n unrepresentable = true;\n return null;\n });\n if (!unrepresentable)\n return JSON.parse(serialized);\n handleUnrepresentable(schema, ctx, json, params, \"BigInt defaults cannot be represented in JSON Schema\");\n return UNREPRESENTABLE_DEFAULT;\n}\nexport const defaultProcessor = (schema, ctx, json, params) => {\n const def = schema._zod.def;\n processSchema(def.innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n seen.ref = def.innerType;\n const value = serializeDefaultValue(def.defaultValue, schema, ctx, json, params);\n if (value !== UNREPRESENTABLE_DEFAULT)\n json.default = value;\n};\nexport const prefaultProcessor = (schema, ctx, json, params) => {\n const def = schema._zod.def;\n processSchema(def.innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n seen.ref = def.innerType;\n if (ctx.io !== \"input\")\n return;\n const value = serializeDefaultValue(def.defaultValue, schema, ctx, json, params);\n if (value !== UNREPRESENTABLE_DEFAULT)\n json._prefault = value;\n};\nexport const catchProcessor = (schema, ctx, json, params) => {\n const def = schema._zod.def;\n processSchema(def.innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n seen.ref = def.innerType;\n let catchValue;\n try {\n catchValue = def.catchValue(undefined);\n }\n catch {\n handleUnrepresentable(schema, ctx, json, params, \"Dynamic catch values are not supported in JSON Schema\");\n return;\n }\n json.default = catchValue;\n};\nexport const pipeProcessor = (schema, ctx, _json, params) => {\n const def = schema._zod.def;\n const inIsTransform = def.in._zod.traits.has(\"$ZodTransform\");\n const innerType = ctx.io === \"input\" ? (inIsTransform ? def.out : def.in) : def.out;\n processSchema(innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n seen.ref = innerType;\n};\nexport const readonlyProcessor = (schema, ctx, json, params) => {\n const def = schema._zod.def;\n processSchema(def.innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n seen.ref = def.innerType;\n json.readOnly = true;\n};\nexport const promiseProcessor = (schema, ctx, _json, params) => {\n const def = schema._zod.def;\n processSchema(def.innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n seen.ref = def.innerType;\n};\nexport const optionalProcessor = (schema, ctx, _json, params) => {\n const def = schema._zod.def;\n processSchema(def.innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n seen.ref = def.innerType;\n};\nexport const lazyProcessor = (schema, ctx, _json, params) => {\n const innerType = schema._zod.innerType;\n processSchema(innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n seen.ref = innerType;\n};\n// ==================== ALL PROCESSORS ====================\nexport const allProcessors = {\n string: stringProcessor,\n number: numberProcessor,\n boolean: booleanProcessor,\n bigint: bigintProcessor,\n symbol: symbolProcessor,\n null: nullProcessor,\n undefined: undefinedProcessor,\n void: voidProcessor,\n never: neverProcessor,\n any: anyProcessor,\n unknown: unknownProcessor,\n date: dateProcessor,\n enum: enumProcessor,\n literal: literalProcessor,\n nan: nanProcessor,\n template_literal: templateLiteralProcessor,\n file: fileProcessor,\n success: successProcessor,\n custom: customProcessor,\n function: functionProcessor,\n transform: transformProcessor,\n map: mapProcessor,\n set: setProcessor,\n array: arrayProcessor,\n object: objectProcessor,\n union: unionProcessor,\n intersection: intersectionProcessor,\n tuple: tupleProcessor,\n record: recordProcessor,\n nullable: nullableProcessor,\n nonoptional: nonoptionalProcessor,\n default: defaultProcessor,\n prefault: prefaultProcessor,\n catch: catchProcessor,\n pipe: pipeProcessor,\n readonly: readonlyProcessor,\n promise: promiseProcessor,\n optional: optionalProcessor,\n lazy: lazyProcessor,\n};\nexport function toJSONSchema(input, params) {\n if (\"_idmap\" in input) {\n // Registry case\n const registry = input;\n const ctx = initializeContext({ ...params, processors: allProcessors });\n const defs = {};\n // First pass: process all schemas to build the seen map\n for (const entry of registry._idmap.entries()) {\n const [_, schema] = entry;\n processSchema(schema, ctx);\n }\n const schemas = {};\n const external = {\n registry,\n uri: params?.uri,\n defs,\n };\n // Update the context with external configuration\n ctx.external = external;\n // Second pass: emit each schema\n for (const entry of registry._idmap.entries()) {\n const [key, schema] = entry;\n extractDefs(ctx, schema);\n assignProp(schemas, key, finalize(ctx, schema));\n }\n if (Object.keys(defs).length > 0) {\n const defsSegment = ctx.target === \"draft-2020-12\" ? \"$defs\" : \"definitions\";\n schemas.__shared = {\n [defsSegment]: defs,\n };\n }\n return { schemas };\n }\n // Single schema case\n const ctx = initializeContext({ ...params, processors: allProcessors });\n processSchema(input, ctx);\n extractDefs(ctx, input);\n return finalize(ctx, input);\n}\n", "import { allProcessors } from \"./json-schema-processors.js\";\nimport { extractDefs, finalize, initializeContext, processSchema, } from \"./to-json-schema.js\";\n/**\n * Legacy class-based interface for JSON Schema generation.\n * This class wraps the new functional implementation to provide backward compatibility.\n *\n * @deprecated Use the `toJSONSchema` function instead for new code.\n *\n * @example\n * ```typescript\n * // Legacy usage (still supported)\n * const gen = new JSONSchemaGenerator({ target: \"draft-07\" });\n * gen.process(schema);\n * const result = gen.emit(schema);\n *\n * // Preferred modern usage\n * const result = toJSONSchema(schema, { target: \"draft-07\" });\n * ```\n */\nexport class JSONSchemaGenerator {\n /** @deprecated Access via ctx instead */\n get metadataRegistry() {\n return this.ctx.metadataRegistry;\n }\n /** @deprecated Access via ctx instead */\n get target() {\n return this.ctx.target;\n }\n // annotated so the .d.cts emits an indexed access rather than an inline `import()` of an ESM path\n /** @deprecated Access via ctx instead */\n get unrepresentable() {\n return this.ctx.unrepresentable;\n }\n /** @deprecated Access via ctx instead */\n get override() {\n return this.ctx.override;\n }\n /** @deprecated Access via ctx instead */\n get io() {\n return this.ctx.io;\n }\n /** @deprecated Access via ctx instead */\n get counter() {\n return this.ctx.counter;\n }\n set counter(value) {\n this.ctx.counter = value;\n }\n /** @deprecated Access via ctx instead */\n get seen() {\n return this.ctx.seen;\n }\n constructor(params) {\n // Normalize target for internal context\n let normalizedTarget = params?.target ?? \"draft-2020-12\";\n if (normalizedTarget === \"draft-4\")\n normalizedTarget = \"draft-04\";\n if (normalizedTarget === \"draft-7\")\n normalizedTarget = \"draft-07\";\n this.ctx = initializeContext({\n processors: allProcessors,\n target: normalizedTarget,\n ...(params?.metadata && { metadata: params.metadata }),\n ...(params?.unrepresentable && { unrepresentable: params.unrepresentable }),\n ...(params?.override && { override: params.override }),\n ...(params?.io && { io: params.io }),\n });\n }\n /**\n * Process a schema to prepare it for JSON Schema generation.\n * This must be called before emit().\n */\n process(schema, _params = { path: [], schemaPath: [] }) {\n return processSchema(schema, this.ctx, _params);\n }\n /**\n * Emit the final JSON Schema after processing.\n * Must call process() first.\n */\n emit(schema, _params) {\n // Apply emit params to the context\n if (_params) {\n if (_params.cycles)\n this.ctx.cycles = _params.cycles;\n if (_params.reused)\n this.ctx.reused = _params.reused;\n if (_params.external)\n this.ctx.external = _params.external;\n }\n // extractDefs/finalize skip their whole-map passes when they have already run for this `external`, but they also branch on `cycles`, `reused`, `seen.count` and the metadata registry \u2014 any of which can change between emits, including with no params at all. Drop the guards so the passes re-run. The registry conversion calls extractDefs/finalize directly and never routes through here, so it keeps skipping them.\n this.ctx.sharedDefsExtractedFor = undefined;\n this.ctx.sharedEmitDoneFor = undefined;\n extractDefs(this.ctx, schema);\n const result = finalize(this.ctx, schema);\n // Strip ~standard property to match old implementation's return type\n const { \"~standard\": _, ...plainResult } = result;\n return plainResult;\n }\n}\n", "export {};\n", "import * as core from \"../core/index.js\";\nimport { util } from \"../core/index.js\";\nimport * as processors from \"../core/json-schema-processors.js\";\nimport * as regexes from \"../core/regexes.js\";\nimport { createStandardJSONSchemaMethod, createToJSONSchemaMethod } from \"../core/to-json-schema.js\";\nimport en from \"../locales/en.js\";\nimport * as checks from \"./checks.js\";\nimport * as parse from \"./parse.js\";\n// Register English as the default locale on first ZodType construction. Hooked into the `ZodType` `$constructor` (rather than a top-level `config(en())` in `external.ts`) so bundlers honoring `sideEffects: false` can't tree-shake it out \u2014 see #5953, #5725. An explicit `z.config(z.locales.xx())` call wins regardless of order, since this only sets the default when none is present.\nfunction _ensureDefaultLocale() {\n if (!core.globalConfig.localeError)\n core.config(en());\n}\n// the default memoizer is read by the core container init, which runs before `ZodType.init`, so each container calls this first\nfunction _ensureDefaultMemoizer() {\n if (!core.globalConfig.memoizer)\n core.config({ memoizer: core.memoizer() });\n}\nexport const ZodType = /*@__PURE__*/ core.$constructor(\"ZodType\", (inst, def) => {\n _ensureDefaultLocale();\n core.$ZodType.init(inst, def);\n inst.def = def;\n inst.type = def.type;\n return inst;\n}, {\n check(...chks) {\n const def = this.def;\n return this.clone(util.mergeDefs(def, {\n checks: [\n ...(def.checks ?? []),\n ...chks.map((ch) => typeof ch === \"function\" ? { _zod: { check: ch, def: { check: \"custom\" }, onattach: [] } } : ch),\n ],\n }), { parent: true });\n },\n with(...chks) {\n return this.check(...chks);\n },\n clone(def, params) {\n return core.clone(this, def, params);\n },\n brand() {\n return this;\n },\n register(reg, meta) {\n reg.add(this, meta);\n return this;\n },\n refine(check, params) {\n return this.check(refine(check, params));\n },\n superRefine(refinement, params) {\n return this.check(superRefine(refinement, params));\n },\n overwrite(fn) {\n return this.check(checks.overwrite(fn));\n },\n optional() {\n return optional(this);\n },\n exactOptional() {\n return exactOptional(this);\n },\n nullable() {\n return nullable(this);\n },\n nullish() {\n return optional(nullable(this));\n },\n nonoptional(params) {\n return nonoptional(this, params);\n },\n array() {\n return array(this);\n },\n or(arg) {\n return union([this, arg]);\n },\n and(arg) {\n return intersection(this, arg);\n },\n transform(tx) {\n return pipe(this, transform(tx));\n },\n default(d) {\n return _default(this, d);\n },\n prefault(d) {\n return prefault(this, d);\n },\n catch(params) {\n return _catch(this, params);\n },\n pipe(target) {\n return pipe(this, target);\n },\n readonly() {\n return readonly(this);\n },\n describe(description) {\n const cl = this.clone();\n core.globalRegistry.add(cl, { description });\n return cl;\n },\n meta(...args) {\n // overloaded: meta() returns the registered metadata, meta(data) returns a clone with `data` registered. The mapped type picks up the second overload, so we accept variadic any-args and return `any` to satisfy both at runtime.\n if (args.length === 0)\n return core.globalRegistry.get(this);\n const cl = this.clone();\n core.globalRegistry.add(cl, args[0]);\n return cl;\n },\n isOptional() {\n return this.safeParse(undefined).success;\n },\n isNullable() {\n return this.safeParse(null).success;\n },\n apply(fn, ...args) {\n return args.length === 0 ? fn(this) : fn(this, ...args);\n },\n // Overrides core's `~standard` to add `jsonSchema`. Must stay a prototype entry: redefining it per instance demotes instances to dictionary mode.\n get \"~standard\"() {\n return util.hide(this, \"~standard\", {\n ...core.standardProps(this),\n jsonSchema: {\n input: createStandardJSONSchemaMethod(this, \"input\"),\n output: createStandardJSONSchemaMethod(this, \"output\"),\n },\n });\n },\n set \"~standard\"(value) {\n util.own(this, \"~standard\", value);\n },\n parse: function _parse(data, params) {\n return parse.parse(this, data, params, { callee: _parse });\n },\n parseAsync: async function _parseAsync(data, params) {\n return await parse.parseAsync(this, data, params, { callee: _parseAsync });\n },\n safeParse(data, params) {\n return parse.safeParse(this, data, params);\n },\n async safeParseAsync(data, params) {\n return parse.safeParseAsync(this, data, params);\n },\n // `spa` is an alias: same function object as `safeParseAsync`, as before.\n get spa() {\n return this?.safeParseAsync;\n },\n set spa(value) {\n util.own(this, \"spa\", value);\n },\n validate(data, params) {\n return parse.validate(this, data, params);\n },\n validateAsync(data, params) {\n return parse.validateAsync(this, data, params);\n },\n encode: function _encode(data, params) {\n return parse.encode(this, data, params, { callee: _encode });\n },\n decode: function _decode(data, params) {\n return parse.decode(this, data, params, { callee: _decode });\n },\n encodeAsync: async function _encodeAsync(data, params) {\n return await parse.encodeAsync(this, data, params, { callee: _encodeAsync });\n },\n decodeAsync: async function _decodeAsync(data, params) {\n return await parse.decodeAsync(this, data, params, { callee: _decodeAsync });\n },\n safeEncode(data, params) {\n return parse.safeEncode(this, data, params);\n },\n safeDecode(data, params) {\n return parse.safeDecode(this, data, params);\n },\n async safeEncodeAsync(data, params) {\n return parse.safeEncodeAsync(this, data, params);\n },\n async safeDecodeAsync(data, params) {\n return parse.safeDecodeAsync(this, data, params);\n },\n toJSONSchema(params) {\n return createToJSONSchemaMethod(this, {})(params);\n },\n // Reads through to the registry on every access, so it must not cache.\n get description() {\n return core.globalRegistry.get(this)?.description;\n },\n // No setter: `schema._def = x` throws, as it did when `_def` was a non-writable own property.\n get _def() {\n return this._zod.def;\n },\n});\n/** @internal */\nexport const _ZodString = /*@__PURE__*/ core.$constructor(\"_ZodString\", (inst, def) => {\n core.$ZodString.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.stringProcessor(inst, ctx, json, params);\n}, \n/*@__PURE__*/ util.derived({\n format: (inst) => processors.aggregateChecks(inst).format ?? null,\n minLength: (inst) => processors.aggregateChecks(inst).minimum ?? null,\n maxLength: (inst) => processors.aggregateChecks(inst).maximum ?? null,\n}, {\n regex(...args) {\n return this.check(checks.regex(...args));\n },\n includes(...args) {\n return this.check(checks.includes(...args));\n },\n startsWith(...args) {\n return this.check(checks.startsWith(...args));\n },\n endsWith(...args) {\n return this.check(checks.endsWith(...args));\n },\n min(...args) {\n return this.check(checks.minLength(...args));\n },\n max(...args) {\n return this.check(checks.maxLength(...args));\n },\n length(...args) {\n return this.check(checks.length(...args));\n },\n nonempty(...args) {\n return this.check(checks.minLength(1, ...args));\n },\n lowercase(params) {\n return this.check(checks.lowercase(params));\n },\n uppercase(params) {\n return this.check(checks.uppercase(params));\n },\n trim() {\n return this.check(checks.trim());\n },\n normalize(...args) {\n return this.check(checks.normalize(...args));\n },\n toLowerCase() {\n return this.check(checks.toLowerCase());\n },\n toUpperCase() {\n return this.check(checks.toUpperCase());\n },\n slugify() {\n return this.check(checks.slugify());\n },\n}));\nexport const ZodString = /*@__PURE__*/ core.$constructor(\"ZodString\", (inst, def) => {\n core.$ZodString.init(inst, def);\n _ZodString.init(inst, def);\n}, {\n email(params) {\n return this.check(core._email(ZodEmail, params));\n },\n url(params) {\n return this.check(core._url(ZodURL, params));\n },\n jwt(params) {\n return this.check(core._jwt(ZodJWT, params));\n },\n emoji(params) {\n return this.check(core._emoji(ZodEmoji, params));\n },\n guid(params) {\n return this.check(core._guid(ZodGUID, params));\n },\n uuid(params) {\n return this.check(core._uuid(ZodUUID, params));\n },\n uuidv4(params) {\n return this.check(core._uuidv4(ZodUUID, params));\n },\n uuidv6(params) {\n return this.check(core._uuidv6(ZodUUID, params));\n },\n uuidv7(params) {\n return this.check(core._uuidv7(ZodUUID, params));\n },\n nanoid(params) {\n return this.check(core._nanoid(ZodNanoID, params));\n },\n cuid(params) {\n return this.check(core._cuid(ZodCUID, params));\n },\n cuid2(params) {\n return this.check(core._cuid2(ZodCUID2, params));\n },\n ulid(params) {\n return this.check(core._ulid(ZodULID, params));\n },\n base64(params) {\n return this.check(core._base64(ZodBase64, params));\n },\n base64url(params) {\n return this.check(core._base64url(ZodBase64URL, params));\n },\n xid(params) {\n return this.check(core._xid(ZodXID, params));\n },\n ksuid(params) {\n return this.check(core._ksuid(ZodKSUID, params));\n },\n ipv4(params) {\n return this.check(core._ipv4(ZodIPv4, params));\n },\n ipv6(params) {\n return this.check(core._ipv6(ZodIPv6, params));\n },\n cidrv4(params) {\n return this.check(core._cidrv4(ZodCIDRv4, params));\n },\n cidrv6(params) {\n return this.check(core._cidrv6(ZodCIDRv6, params));\n },\n e164(params) {\n return this.check(core._e164(ZodE164, params));\n },\n datetime(params) {\n return this.check(core._isoDateTime(ZodISODateTime, params));\n },\n date(params) {\n return this.check(core._isoDate(ZodISODate, params));\n },\n time(params) {\n return this.check(core._isoTime(ZodISOTime, params));\n },\n duration(params) {\n return this.check(core._isoDuration(ZodISODuration, params));\n },\n});\nexport function string(params) {\n return core._string(ZodString, params);\n}\nexport const ZodStringFormat = /*@__PURE__*/ core.$constructor(\"ZodStringFormat\", (inst, def) => {\n core.$ZodStringFormat.init(inst, def);\n _ZodString.init(inst, def);\n});\nexport const ZodISODateTime = /*@__PURE__*/ core.$constructor(\"ZodISODateTime\", (inst, def) => {\n core.$ZodISODateTime.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport const ZodISODate = /*@__PURE__*/ core.$constructor(\"ZodISODate\", (inst, def) => {\n core.$ZodISODate.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport const ZodISOTime = /*@__PURE__*/ core.$constructor(\"ZodISOTime\", (inst, def) => {\n core.$ZodISOTime.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport const ZodISODuration = /*@__PURE__*/ core.$constructor(\"ZodISODuration\", (inst, def) => {\n core.$ZodISODuration.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport const ZodEmail = /*@__PURE__*/ core.$constructor(\"ZodEmail\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodEmail.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function email(params) {\n return core._email(ZodEmail, params);\n}\nexport const ZodGUID = /*@__PURE__*/ core.$constructor(\"ZodGUID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodGUID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function guid(params) {\n return core._guid(ZodGUID, params);\n}\nexport const ZodUUID = /*@__PURE__*/ core.$constructor(\"ZodUUID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodUUID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function uuid(params) {\n return core._uuid(ZodUUID, params);\n}\nexport function uuidv4(params) {\n return core._uuidv4(ZodUUID, params);\n}\n// ZodUUIDv6\nexport function uuidv6(params) {\n return core._uuidv6(ZodUUID, params);\n}\n// ZodUUIDv7\nexport function uuidv7(params) {\n return core._uuidv7(ZodUUID, params);\n}\nexport const ZodURL = /*@__PURE__*/ core.$constructor(\"ZodURL\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodURL.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function url(params) {\n return core._url(ZodURL, params);\n}\nexport function httpUrl(params) {\n return core._url(ZodURL, {\n protocol: regexes.httpProtocol,\n hostname: regexes.domain,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodEmoji = /*@__PURE__*/ core.$constructor(\"ZodEmoji\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodEmoji.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function emoji(params) {\n return core._emoji(ZodEmoji, params);\n}\nexport const ZodNanoID = /*@__PURE__*/ core.$constructor(\"ZodNanoID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodNanoID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function nanoid(params) {\n return core._nanoid(ZodNanoID, params);\n}\n/**\n * @deprecated CUID v1 is deprecated by its authors due to information leakage\n * (timestamps embedded in the id). Use {@link ZodCUID2} instead.\n * See https://github.com/paralleldrive/cuid.\n */\nexport const ZodCUID = /*@__PURE__*/ core.$constructor(\"ZodCUID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodCUID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\n/**\n * Validates a CUID v1 string.\n *\n * @deprecated CUID v1 is deprecated by its authors due to information leakage\n * (timestamps embedded in the id). Use {@link cuid2 | `z.cuid2()`} instead.\n * See https://github.com/paralleldrive/cuid.\n */\nexport function cuid(params) {\n return core._cuid(ZodCUID, params);\n}\nexport const ZodCUID2 = /*@__PURE__*/ core.$constructor(\"ZodCUID2\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodCUID2.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function cuid2(params) {\n return core._cuid2(ZodCUID2, params);\n}\nexport const ZodULID = /*@__PURE__*/ core.$constructor(\"ZodULID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodULID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function ulid(params) {\n return core._ulid(ZodULID, params);\n}\nexport const ZodXID = /*@__PURE__*/ core.$constructor(\"ZodXID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodXID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function xid(params) {\n return core._xid(ZodXID, params);\n}\nexport const ZodKSUID = /*@__PURE__*/ core.$constructor(\"ZodKSUID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodKSUID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function ksuid(params) {\n return core._ksuid(ZodKSUID, params);\n}\nexport const ZodIPv4 = /*@__PURE__*/ core.$constructor(\"ZodIPv4\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodIPv4.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function ipv4(params) {\n return core._ipv4(ZodIPv4, params);\n}\nexport const ZodMAC = /*@__PURE__*/ core.$constructor(\"ZodMAC\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodMAC.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function mac(params) {\n return core._mac(ZodMAC, params);\n}\nexport const ZodIPv6 = /*@__PURE__*/ core.$constructor(\"ZodIPv6\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodIPv6.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function ipv6(params) {\n return core._ipv6(ZodIPv6, params);\n}\nexport const ZodCIDRv4 = /*@__PURE__*/ core.$constructor(\"ZodCIDRv4\", (inst, def) => {\n core.$ZodCIDRv4.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function cidrv4(params) {\n return core._cidrv4(ZodCIDRv4, params);\n}\nexport const ZodCIDRv6 = /*@__PURE__*/ core.$constructor(\"ZodCIDRv6\", (inst, def) => {\n core.$ZodCIDRv6.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function cidrv6(params) {\n return core._cidrv6(ZodCIDRv6, params);\n}\nexport const ZodBase64 = /*@__PURE__*/ core.$constructor(\"ZodBase64\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodBase64.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function base64(params) {\n return core._base64(ZodBase64, params);\n}\nexport const ZodBase64URL = /*@__PURE__*/ core.$constructor(\"ZodBase64URL\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodBase64URL.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function base64url(params) {\n return core._base64url(ZodBase64URL, params);\n}\nexport const ZodE164 = /*@__PURE__*/ core.$constructor(\"ZodE164\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodE164.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function e164(params) {\n return core._e164(ZodE164, params);\n}\nexport const ZodCreditCard = /*@__PURE__*/ core.$constructor(\"ZodCreditCard\", (inst, def) => {\n core.$ZodCreditCard.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function creditCard(params) {\n return core._creditCard(ZodCreditCard, params);\n}\nexport const ZodIBAN = /*@__PURE__*/ core.$constructor(\"ZodIBAN\", (inst, def) => {\n core.$ZodIBAN.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function iban(params) {\n return core._iban(ZodIBAN, params);\n}\nexport const ZodJWT = /*@__PURE__*/ core.$constructor(\"ZodJWT\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodJWT.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function jwt(params) {\n return core._jwt(ZodJWT, params);\n}\nexport const ZodCustomStringFormat = /*@__PURE__*/ core.$constructor(\"ZodCustomStringFormat\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodCustomStringFormat.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function stringFormat(format, fnOrRegex, _params = {}) {\n return core._stringFormat(ZodCustomStringFormat, format, fnOrRegex, _params);\n}\nexport function hostname(_params) {\n return core._stringFormat(ZodCustomStringFormat, \"hostname\", regexes.hostname, _params);\n}\nexport function hex(_params) {\n return core._stringFormat(ZodCustomStringFormat, \"hex\", regexes.hex, _params);\n}\nexport function currencyCode(_params) {\n return core._stringFormat(ZodCustomStringFormat, \"currency_code\", regexes.currencyCode, _params);\n}\nexport function hash(alg, params) {\n const enc = params?.enc ?? \"hex\";\n const format = `${alg}_${enc}`;\n const regex = core.regexes[format];\n if (!regex)\n throw new Error(`Unrecognized hash format: ${format}`);\n return core._stringFormat(ZodCustomStringFormat, format, regex, params);\n}\nexport const ZodNumber = /*@__PURE__*/ core.$constructor(\"ZodNumber\", (inst, def) => {\n core.$ZodNumber.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.numberProcessor(inst, ctx, json, params);\n inst.isFinite = true;\n}, \n/*@__PURE__*/ util.derived({\n minValue: (inst) => {\n const { minimum, exclusiveMinimum } = processors.aggregateChecks(inst);\n return Math.max(minimum ?? Number.NEGATIVE_INFINITY, exclusiveMinimum ?? Number.NEGATIVE_INFINITY);\n },\n maxValue: (inst) => {\n const { maximum, exclusiveMaximum } = processors.aggregateChecks(inst);\n return Math.min(maximum ?? Number.POSITIVE_INFINITY, exclusiveMaximum ?? Number.POSITIVE_INFINITY);\n },\n isInt: (inst) => {\n const { isInt, multipleOf } = processors.aggregateChecks(inst);\n return !!isInt || !!multipleOf?.some(Number.isSafeInteger);\n },\n format: (inst) => processors.aggregateChecks(inst).format ?? null,\n}, {\n gt(value, params) {\n return this.check(checks.gt(value, params));\n },\n gte(value, params) {\n return this.check(checks.gte(value, params));\n },\n min(value, params) {\n return this.check(checks.gte(value, params));\n },\n lt(value, params) {\n return this.check(checks.lt(value, params));\n },\n lte(value, params) {\n return this.check(checks.lte(value, params));\n },\n max(value, params) {\n return this.check(checks.lte(value, params));\n },\n int(params) {\n return this.check(int(params));\n },\n safe(params) {\n return this.check(int(params));\n },\n positive(params) {\n return this.check(checks.gt(0, params));\n },\n nonnegative(params) {\n return this.check(checks.gte(0, params));\n },\n negative(params) {\n return this.check(checks.lt(0, params));\n },\n nonpositive(params) {\n return this.check(checks.lte(0, params));\n },\n multipleOf(value, params) {\n return this.check(checks.multipleOf(value, params));\n },\n step(value, params) {\n return this.check(checks.multipleOf(value, params));\n },\n finite() {\n return this;\n },\n}));\nexport function number(params) {\n return core._number(ZodNumber, params);\n}\nexport const ZodNumberFormat = /*@__PURE__*/ core.$constructor(\"ZodNumberFormat\", (inst, def) => {\n core.$ZodNumberFormat.init(inst, def);\n ZodNumber.init(inst, def);\n});\nexport function int(params) {\n return core._int(ZodNumberFormat, params);\n}\nexport function float32(params) {\n return core._float32(ZodNumberFormat, params);\n}\nexport function float64(params) {\n return core._float64(ZodNumberFormat, params);\n}\nexport function int32(params) {\n return core._int32(ZodNumberFormat, params);\n}\nexport function uint32(params) {\n return core._uint32(ZodNumberFormat, params);\n}\nexport const ZodBoolean = /*@__PURE__*/ core.$constructor(\"ZodBoolean\", (inst, def) => {\n core.$ZodBoolean.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.booleanProcessor(inst, ctx, json, params);\n});\nexport function boolean(params) {\n return core._boolean(ZodBoolean, params);\n}\nexport const ZodBigInt = /*@__PURE__*/ core.$constructor(\"ZodBigInt\", (inst, def) => {\n core.$ZodBigInt.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.bigintProcessor(inst, ctx, json, params);\n}, \n/*@__PURE__*/ util.derived({\n minValue: (inst) => processors.aggregateChecks(inst).minimum ?? null,\n maxValue: (inst) => processors.aggregateChecks(inst).maximum ?? null,\n format: (inst) => processors.aggregateChecks(inst).format ?? null,\n}, {\n gte(value, params) {\n return this.check(checks.gte(value, params));\n },\n min(value, params) {\n return this.check(checks.gte(value, params));\n },\n gt(value, params) {\n return this.check(checks.gt(value, params));\n },\n lt(value, params) {\n return this.check(checks.lt(value, params));\n },\n lte(value, params) {\n return this.check(checks.lte(value, params));\n },\n max(value, params) {\n return this.check(checks.lte(value, params));\n },\n positive(params) {\n return this.check(checks.gt(BigInt(0), params));\n },\n negative(params) {\n return this.check(checks.lt(BigInt(0), params));\n },\n nonpositive(params) {\n return this.check(checks.lte(BigInt(0), params));\n },\n nonnegative(params) {\n return this.check(checks.gte(BigInt(0), params));\n },\n multipleOf(value, params) {\n return this.check(checks.multipleOf(value, params));\n },\n}));\nexport function bigint(params) {\n return core._bigint(ZodBigInt, params);\n}\nexport const ZodBigIntFormat = /*@__PURE__*/ core.$constructor(\"ZodBigIntFormat\", (inst, def) => {\n core.$ZodBigIntFormat.init(inst, def);\n ZodBigInt.init(inst, def);\n});\nexport function int64(params) {\n return core._int64(ZodBigIntFormat, params);\n}\nexport function uint64(params) {\n return core._uint64(ZodBigIntFormat, params);\n}\nexport const ZodSymbol = /*@__PURE__*/ core.$constructor(\"ZodSymbol\", (inst, def) => {\n core.$ZodSymbol.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.symbolProcessor(inst, ctx, json, params);\n});\nexport function symbol(params) {\n return core._symbol(ZodSymbol, params);\n}\nexport const ZodUndefined = /*@__PURE__*/ core.$constructor(\"ZodUndefined\", (inst, def) => {\n core.$ZodUndefined.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.undefinedProcessor(inst, ctx, json, params);\n});\nfunction _undefined(params) {\n return core._undefined(ZodUndefined, params);\n}\nexport { _undefined as undefined };\nexport const ZodNull = /*@__PURE__*/ core.$constructor(\"ZodNull\", (inst, def) => {\n core.$ZodNull.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.nullProcessor(inst, ctx, json, params);\n});\nfunction _null(params) {\n return core._null(ZodNull, params);\n}\nexport { _null as null };\nexport const ZodAny = /*@__PURE__*/ core.$constructor(\"ZodAny\", (inst, def) => {\n core.$ZodAny.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.anyProcessor(inst, ctx, json, params);\n});\nexport function any() {\n return core._any(ZodAny);\n}\nexport const ZodUnknown = /*@__PURE__*/ core.$constructor(\"ZodUnknown\", (inst, def) => {\n core.$ZodUnknown.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.unknownProcessor(inst, ctx, json, params);\n});\nexport function unknown() {\n return core._unknown(ZodUnknown);\n}\nexport const ZodNever = /*@__PURE__*/ core.$constructor(\"ZodNever\", (inst, def) => {\n core.$ZodNever.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.neverProcessor(inst, ctx, json, params);\n});\nexport function never(params) {\n return core._never(ZodNever, params);\n}\nexport const ZodVoid = /*@__PURE__*/ core.$constructor(\"ZodVoid\", (inst, def) => {\n core.$ZodVoid.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.voidProcessor(inst, ctx, json, params);\n});\nfunction _void(params) {\n return core._void(ZodVoid, params);\n}\nexport { _void as void };\nexport const ZodDate = /*@__PURE__*/ core.$constructor(\"ZodDate\", (inst, def) => {\n core.$ZodDate.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.dateProcessor(inst, ctx, json, params);\n inst.min = (value, params) => inst.check(checks.gte(value, params));\n inst.max = (value, params) => inst.check(checks.lte(value, params));\n}, \n/*@__PURE__*/ util.derived({\n minDate: (inst) => {\n const { minimum } = processors.aggregateChecks(inst);\n return minimum ? new Date(minimum) : null;\n },\n maxDate: (inst) => {\n const { maximum } = processors.aggregateChecks(inst);\n return maximum ? new Date(maximum) : null;\n },\n}, {}));\nexport function date(params) {\n return core._date(ZodDate, params);\n}\nexport const ZodArray = /*@__PURE__*/ core.$constructor(\"ZodArray\", (inst, def) => {\n _ensureDefaultMemoizer();\n core.$ZodArray.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.arrayProcessor(inst, ctx, json, params);\n inst.element = def.element;\n}, {\n min(n, params) {\n return this.check(checks.minLength(n, params));\n },\n nonempty(params) {\n return this.check(checks.minLength(1, params));\n },\n max(n, params) {\n return this.check(checks.maxLength(n, params));\n },\n length(n, params) {\n return this.check(checks.length(n, params));\n },\n unwrap() {\n return this.element;\n },\n});\nexport function array(element, params) {\n return core._array(ZodArray, element, params);\n}\n// .keyof\nexport function keyof(schema) {\n const shape = schema._zod.def.shape;\n return _enum(Object.keys(shape));\n}\nexport const ZodObject = /*@__PURE__*/ core.$constructor(\"ZodObject\", (inst, def) => {\n _ensureDefaultMemoizer();\n core.$ZodObjectJIT.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.objectProcessor(inst, ctx, json, params);\n util.installLazyProp(inst, \"shape\", (self) => self._zod.def.shape, false);\n}, {\n keyof() {\n return _enum(Object.keys(this._zod.def.shape));\n },\n catchall(catchall) {\n // `mergeDefs` rather than a spread: spreading reads `shape`, and resolving it can mint a whole fresh subtree\n return this.clone(util.mergeDefs(this._zod.def, { catchall: catchall }));\n },\n passthrough() {\n return this.clone(util.mergeDefs(this._zod.def, { catchall: unknown() }));\n },\n loose() {\n return this.clone(util.mergeDefs(this._zod.def, { catchall: unknown() }));\n },\n strict() {\n return this.clone(util.mergeDefs(this._zod.def, { catchall: never() }));\n },\n strip() {\n return this.clone(util.mergeDefs(this._zod.def, { catchall: undefined }));\n },\n extend(incoming) {\n return util.extend(this, incoming);\n },\n safeExtend(incoming) {\n return util.safeExtend(this, incoming);\n },\n merge(other) {\n return util.merge(this, other);\n },\n pick(mask) {\n return util.pick(this, mask);\n },\n omit(mask) {\n return util.omit(this, mask);\n },\n partial(...args) {\n return util.partial(ZodOptional, this, args[0]);\n },\n exactPartial(...args) {\n return util.partial(ZodExactOptional, this, args[0], \"exactPartial\");\n },\n required(...args) {\n return util.required(ZodNonOptional, this, args[0]);\n },\n});\nexport function object(shape, params) {\n const def = {\n type: \"object\",\n shape: shape ?? {},\n ...util.normalizeParams(params),\n };\n return new ZodObject(def);\n}\n// strictObject\nexport function strictObject(shape, params) {\n return new ZodObject({\n type: \"object\",\n shape,\n catchall: never(),\n ...util.normalizeParams(params),\n });\n}\n// looseObject\nexport function looseObject(shape, params) {\n return new ZodObject({\n type: \"object\",\n shape,\n catchall: unknown(),\n ...util.normalizeParams(params),\n });\n}\nexport const ZodUnion = /*@__PURE__*/ core.$constructor(\"ZodUnion\", (inst, def) => {\n core.$ZodUnion.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.unionProcessor(inst, ctx, json, params);\n inst.options = def.options;\n});\nexport function union(options, params) {\n return new ZodUnion({\n type: \"union\",\n options: options,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodXor = /*@__PURE__*/ core.$constructor(\"ZodXor\", (inst, def) => {\n ZodUnion.init(inst, def);\n core.$ZodXor.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.unionProcessor(inst, ctx, json, params);\n inst.options = def.options;\n});\n/** Creates an exclusive union (XOR) where exactly one option must match.\n * Unlike regular unions that succeed when any option matches, xor fails if\n * zero or more than one option matches the input. */\nexport function xor(options, params) {\n return new ZodXor({\n type: \"union\",\n options: options,\n inclusive: false,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodDiscriminatedUnion = /*@__PURE__*/ core.$constructor(\"ZodDiscriminatedUnion\", (inst, def) => {\n ZodUnion.init(inst, def);\n core.$ZodDiscriminatedUnion.init(inst, def);\n});\nexport function discriminatedUnion(discriminator, options, params) {\n // const [options, params] = args;\n return new ZodDiscriminatedUnion({\n type: \"union\",\n options: options,\n discriminator,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodIntersection = /*@__PURE__*/ core.$constructor(\"ZodIntersection\", (inst, def) => {\n core.$ZodIntersection.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.intersectionProcessor(inst, ctx, json, params);\n});\nexport function intersection(left, right) {\n return new ZodIntersection({\n type: \"intersection\",\n left: left,\n right: right,\n });\n}\nexport const ZodTuple = /*@__PURE__*/ core.$constructor(\"ZodTuple\", (inst, def) => {\n _ensureDefaultMemoizer();\n core.$ZodTuple.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.tupleProcessor(inst, ctx, json, params);\n}, {\n rest(rest) {\n return this.clone({\n ...this._zod.def,\n rest: rest,\n });\n },\n partial() {\n const def = this._zod.def;\n // a refinement was authored against the full arity; partialing would run it on a shorter array\n if (def.checks?.length)\n throw new Error(\".partial() cannot be used on tuple schemas containing refinements\");\n return this.clone({\n ...def,\n items: def.items.map((item) => new ZodOptional({ type: \"optional\", innerType: item })),\n });\n },\n});\nexport function tuple(items, _paramsOrRest, _params) {\n const hasRest = _paramsOrRest instanceof core.$ZodType;\n const params = hasRest ? _params : _paramsOrRest;\n const rest = hasRest ? _paramsOrRest : null;\n return new ZodTuple({\n type: \"tuple\",\n items: items,\n rest,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodRecord = /*@__PURE__*/ core.$constructor(\"ZodRecord\", (inst, def) => {\n _ensureDefaultMemoizer();\n core.$ZodRecord.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.recordProcessor(inst, ctx, json, params);\n inst.keyType = def.keyType;\n inst.valueType = def.valueType;\n});\nexport function record(keyType, valueType, params) {\n // v3-compat: z.record(valueType, params?) \u2014 defaults keyType to z.string()\n if (!valueType || !valueType._zod) {\n return new ZodRecord({\n type: \"record\",\n keyType: string(),\n valueType: keyType,\n ...util.normalizeParams(valueType),\n });\n }\n return new ZodRecord({\n type: \"record\",\n keyType,\n valueType: valueType,\n ...util.normalizeParams(params),\n });\n}\n// type alksjf = core.output<core.$ZodRecordKey>;\nexport function partialRecord(keyType, valueType, params) {\n return new ZodRecord({\n type: \"record\",\n keyType,\n valueType: valueType,\n ...util.normalizeParams(params),\n partial: true,\n });\n}\nexport function looseRecord(keyType, valueType, params) {\n return new ZodRecord({\n type: \"record\",\n keyType,\n valueType: valueType,\n mode: \"loose\",\n ...util.normalizeParams(params),\n });\n}\nexport const ZodMap = /*@__PURE__*/ core.$constructor(\"ZodMap\", (inst, def) => {\n _ensureDefaultMemoizer();\n core.$ZodMap.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.mapProcessor(inst, ctx, json, params);\n inst.keyType = def.keyType;\n inst.valueType = def.valueType;\n inst.min = (...args) => inst.check(core._minSize(...args));\n inst.nonempty = (params) => inst.check(core._minSize(1, params));\n inst.max = (...args) => inst.check(core._maxSize(...args));\n inst.size = (...args) => inst.check(core._size(...args));\n});\nexport function map(keyType, valueType, params) {\n return new ZodMap({\n type: \"map\",\n keyType: keyType,\n valueType: valueType,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodSet = /*@__PURE__*/ core.$constructor(\"ZodSet\", (inst, def) => {\n _ensureDefaultMemoizer();\n core.$ZodSet.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.setProcessor(inst, ctx, json, params);\n inst.min = (...args) => inst.check(core._minSize(...args));\n inst.nonempty = (params) => inst.check(core._minSize(1, params));\n inst.max = (...args) => inst.check(core._maxSize(...args));\n inst.size = (...args) => inst.check(core._size(...args));\n});\nexport function set(valueType, params) {\n return new ZodSet({\n type: \"set\",\n valueType: valueType,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodEnum = /*@__PURE__*/ core.$constructor(\"ZodEnum\", (inst, def) => {\n core.$ZodEnum.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.enumProcessor(inst, ctx, json, params);\n inst.enum = def.entries;\n // reuse the parsed value set so a numeric TS enum's reverse-mapping keys stay out\n inst.options = [...inst._zod.values];\n const keys = new Set(Object.keys(def.entries));\n inst.extract = (values, params) => {\n const newEntries = {};\n for (const value of values) {\n if (keys.has(value)) {\n newEntries[value] = def.entries[value];\n }\n else\n throw new Error(`Key ${value} not found in enum`);\n }\n return new ZodEnum({\n ...def,\n checks: [],\n ...util.normalizeParams(params),\n entries: newEntries,\n });\n };\n inst.exclude = (values, params) => {\n const newEntries = { ...def.entries };\n for (const value of values) {\n if (keys.has(value)) {\n delete newEntries[value];\n }\n else\n throw new Error(`Key ${value} not found in enum`);\n }\n return new ZodEnum({\n ...def,\n checks: [],\n ...util.normalizeParams(params),\n entries: newEntries,\n });\n };\n});\nfunction _enum(values, params) {\n const entries = Array.isArray(values) ? Object.fromEntries(values.map((v) => [v, v])) : values;\n return new ZodEnum({\n type: \"enum\",\n entries,\n ...util.normalizeParams(params),\n });\n}\nexport { _enum as enum };\n/** @deprecated This API has been merged into `z.enum()`. Use `z.enum()` instead.\n *\n * ```ts\n * enum Colors { red, green, blue }\n * z.enum(Colors);\n * ```\n */\nexport function nativeEnum(entries, params) {\n return new ZodEnum({\n type: \"enum\",\n entries,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodLiteral = /*@__PURE__*/ core.$constructor(\"ZodLiteral\", (inst, def) => {\n core.$ZodLiteral.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.literalProcessor(inst, ctx, json, params);\n inst.values = new Set(def.values);\n Object.defineProperty(inst, \"value\", {\n get() {\n if (def.values.length > 1) {\n throw new Error(\"This schema contains multiple valid literal values. Use `.values` instead.\");\n }\n return def.values[0];\n },\n });\n});\nexport function literal(value, params) {\n return new ZodLiteral({\n type: \"literal\",\n values: Array.isArray(value) ? value : [value],\n ...util.normalizeParams(params),\n });\n}\nexport const ZodFile = /*@__PURE__*/ core.$constructor(\"ZodFile\", (inst, def) => {\n core.$ZodFile.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.fileProcessor(inst, ctx, json, params);\n inst.min = (size, params) => inst.check(core._minSize(size, params));\n inst.max = (size, params) => inst.check(core._maxSize(size, params));\n inst.mime = (types, params) => inst.check(core._mime(Array.isArray(types) ? types : [types], params));\n});\nexport function file(params) {\n return core._file(ZodFile, params);\n}\nexport const ZodTransform = /*@__PURE__*/ core.$constructor(\"ZodTransform\", (inst, def) => {\n _ensureDefaultMemoizer();\n core.$ZodTransform.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.transformProcessor(inst, ctx, json, params);\n inst._zod.parse = (payload, _ctx) => {\n if (_ctx.direction === \"backward\") {\n throw new core.$ZodEncodeError(inst.constructor.name);\n }\n payload.addIssue = (issue) => {\n if (typeof issue === \"string\") {\n payload.issues.push(util.issue(issue, payload.value, def));\n }\n else {\n // for Zod 3 backwards compatibility\n const _issue = issue;\n if (_issue.fatal)\n _issue.continue = false;\n _issue.code ?? (_issue.code = \"custom\");\n if (!(\"input\" in _issue))\n _issue.input = payload.value;\n _issue.inst ?? (_issue.inst = inst);\n // _issue.continue ??= true;\n payload.issues.push(util.issue(_issue));\n }\n };\n const output = def.transform(payload.value, payload);\n if (output instanceof Promise) {\n return output.then((output) => {\n payload.value = output;\n return payload;\n });\n }\n payload.value = output;\n return payload;\n };\n});\nexport function transform(fn) {\n return new ZodTransform({\n type: \"transform\",\n transform: fn,\n });\n}\nexport const ZodOptional = /*@__PURE__*/ core.$constructor(\"ZodOptional\", (inst, def) => {\n core.$ZodOptional.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.optionalProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function optional(innerType) {\n return new ZodOptional({\n type: \"optional\",\n innerType: innerType,\n });\n}\nexport const ZodExactOptional = /*@__PURE__*/ core.$constructor(\"ZodExactOptional\", (inst, def) => {\n core.$ZodExactOptional.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.optionalProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function exactOptional(innerType) {\n return new ZodExactOptional({\n type: \"optional\",\n innerType: innerType,\n });\n}\nexport const ZodNullable = /*@__PURE__*/ core.$constructor(\"ZodNullable\", (inst, def) => {\n core.$ZodNullable.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.nullableProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function nullable(innerType) {\n return new ZodNullable({\n type: \"nullable\",\n innerType: innerType,\n });\n}\n// nullish\nexport function nullish(innerType) {\n return optional(nullable(innerType));\n}\nexport const ZodDefault = /*@__PURE__*/ core.$constructor(\"ZodDefault\", (inst, def) => {\n core.$ZodDefault.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.defaultProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n inst.removeDefault = inst.unwrap;\n});\nexport function _default(innerType, defaultValue) {\n return new ZodDefault({\n type: \"default\",\n innerType: innerType,\n get defaultValue() {\n return typeof defaultValue === \"function\" ? defaultValue() : util.shallowClone(defaultValue);\n },\n });\n}\nexport const ZodPrefault = /*@__PURE__*/ core.$constructor(\"ZodPrefault\", (inst, def) => {\n core.$ZodPrefault.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.prefaultProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function prefault(innerType, defaultValue) {\n return new ZodPrefault({\n type: \"prefault\",\n innerType: innerType,\n get defaultValue() {\n return typeof defaultValue === \"function\" ? defaultValue() : util.shallowClone(defaultValue);\n },\n });\n}\nexport const ZodNonOptional = /*@__PURE__*/ core.$constructor(\"ZodNonOptional\", (inst, def) => {\n core.$ZodNonOptional.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.nonoptionalProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function nonoptional(innerType, params) {\n return new ZodNonOptional({\n type: \"nonoptional\",\n innerType: innerType,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodSuccess = /*@__PURE__*/ core.$constructor(\"ZodSuccess\", (inst, def) => {\n core.$ZodSuccess.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.successProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function success(innerType) {\n return new ZodSuccess({\n type: \"success\",\n innerType: innerType,\n });\n}\nexport const ZodCatch = /*@__PURE__*/ core.$constructor(\"ZodCatch\", (inst, def) => {\n core.$ZodCatch.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.catchProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n inst.removeCatch = inst.unwrap;\n});\nfunction _catch(innerType, catchValue) {\n return new ZodCatch({\n type: \"catch\",\n innerType: innerType,\n catchValue: (typeof catchValue === \"function\" ? catchValue : core.util.constantCatch(catchValue)),\n });\n}\nexport { _catch as catch };\nexport const ZodNaN = /*@__PURE__*/ core.$constructor(\"ZodNaN\", (inst, def) => {\n core.$ZodNaN.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.nanProcessor(inst, ctx, json, params);\n});\nexport function nan(params) {\n return core._nan(ZodNaN, params);\n}\nexport const ZodPipe = /*@__PURE__*/ core.$constructor(\"ZodPipe\", (inst, def) => {\n core.$ZodPipe.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.pipeProcessor(inst, ctx, json, params);\n inst.in = def.in;\n inst.out = def.out;\n});\nexport function pipe(in_, out) {\n return new ZodPipe({\n type: \"pipe\",\n in: in_,\n out: out,\n // ...util.normalizeParams(params),\n });\n}\nexport const ZodCodec = /*@__PURE__*/ core.$constructor(\"ZodCodec\", (inst, def) => {\n ZodPipe.init(inst, def);\n core.$ZodCodec.init(inst, def);\n});\nexport function codec(in_, out, params) {\n return new ZodCodec({\n type: \"pipe\",\n in: in_,\n out: out,\n transform: params.decode,\n reverseTransform: params.encode,\n });\n}\nexport function invertCodec(codec) {\n const def = codec._zod.def;\n return new ZodCodec({\n type: \"pipe\",\n in: def.out,\n out: def.in,\n transform: def.reverseTransform,\n reverseTransform: def.transform,\n });\n}\nexport const ZodPreprocess = /*@__PURE__*/ core.$constructor(\"ZodPreprocess\", (inst, def) => {\n ZodPipe.init(inst, def);\n core.$ZodPreprocess.init(inst, def);\n});\nexport const ZodReadonly = /*@__PURE__*/ core.$constructor(\"ZodReadonly\", (inst, def) => {\n core.$ZodReadonly.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.readonlyProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function readonly(innerType) {\n return new ZodReadonly({\n type: \"readonly\",\n innerType: innerType,\n });\n}\nexport const ZodTemplateLiteral = /*@__PURE__*/ core.$constructor(\"ZodTemplateLiteral\", (inst, def) => {\n core.$ZodTemplateLiteral.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.templateLiteralProcessor(inst, ctx, json, params);\n});\nexport function templateLiteral(parts, params) {\n return new ZodTemplateLiteral({\n type: \"template_literal\",\n parts,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodLazy = /*@__PURE__*/ core.$constructor(\"ZodLazy\", (inst, def) => {\n core.$ZodLazy.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.lazyProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.getter();\n});\nexport function lazy(getter) {\n return new ZodLazy({\n type: \"lazy\",\n getter: getter,\n });\n}\nexport const ZodPromise = /*@__PURE__*/ core.$constructor(\"ZodPromise\", (inst, def) => {\n core.$ZodPromise.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.promiseProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function promise(innerType) {\n return new ZodPromise({\n type: \"promise\",\n innerType: innerType,\n });\n}\nexport const ZodFunction = /*@__PURE__*/ core.$constructor(\"ZodFunction\", (inst, def) => {\n core.$ZodFunction.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.functionProcessor(inst, ctx, json, params);\n});\nexport function _function(params) {\n return new ZodFunction({\n type: \"function\",\n input: Array.isArray(params?.input) ? tuple(params?.input) : (params?.input ?? array(unknown())),\n output: params?.output ?? unknown(),\n });\n}\nexport { _function as function };\nexport const ZodCustom = /*@__PURE__*/ core.$constructor(\"ZodCustom\", (inst, def) => {\n core.$ZodCustom.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.customProcessor(inst, ctx, json, params);\n});\n// custom checks\nexport function check(fn) {\n const ch = new core.$ZodCheck({\n check: \"custom\",\n // ...util.normalizeParams(params),\n });\n ch._zod.check = fn;\n return ch;\n}\nexport function custom(fn, _params) {\n return core._custom(ZodCustom, fn ?? (() => true), _params);\n}\nexport function refine(fn, _params = {}) {\n return core._refine(ZodCustom, fn, _params);\n}\n// superRefine\nexport function superRefine(fn, params) {\n return core._superRefine(fn, params);\n}\n// Re-export describe and meta from core\nexport const describe = core.describe;\nexport const meta = core.meta;\nexport const ZodInstanceOf = /*@__PURE__*/ core.$constructor(\"ZodInstanceOf\", (inst, def) => {\n ZodCustom.init(inst, def);\n}, {\n properties(shape, params) {\n // asserts in place, so the narrowed output type is truthful without a wrapper\n return this.check(core._properties(shape, params));\n },\n});\nfunction _instanceof(cls, params = {}) {\n const inst = new ZodInstanceOf({\n type: \"custom\",\n check: \"custom\",\n fn: (data) => data instanceof cls,\n abort: true,\n ...util.normalizeParams(params),\n });\n inst._zod.bag.Class = cls;\n // Override check to emit invalid_type instead of custom\n inst._zod.check = (payload) => {\n if (!(payload.value instanceof cls)) {\n payload.issues.push({\n code: \"invalid_type\",\n expected: cls.name,\n input: payload.value,\n inst,\n path: [...(inst._zod.def.path ?? [])],\n });\n }\n };\n return inst;\n}\nexport { _instanceof as instanceof };\n// stringbool\nexport const stringbool = (...args) => core._stringbool({\n Codec: ZodCodec,\n Boolean: ZodBoolean,\n String: ZodString,\n}, ...args);\nexport function json(params) {\n const jsonSchema = lazy(() => {\n return union([string(params), number(), boolean(), _null(), array(jsonSchema), record(string(), jsonSchema)]);\n });\n return jsonSchema;\n}\n// preprocess\nexport function preprocess(fn, schema) {\n return new ZodPreprocess({\n type: \"pipe\",\n in: transform(fn),\n out: schema,\n });\n}\n", "export { _lt as lt, _lte as lte, _gt as gt, _gte as gte, _positive as positive, _negative as negative, _nonpositive as nonpositive, _nonnegative as nonnegative, _multipleOf as multipleOf, _maxSize as maxSize, _minSize as minSize, _size as size, _maxLength as maxLength, _minLength as minLength, _length as length, _regex as regex, _lowercase as lowercase, _uppercase as uppercase, _includes as includes, _startsWith as startsWith, _endsWith as endsWith, _property as property, _properties as properties, _mime as mime, _overwrite as overwrite, _normalize as normalize, _trim as trim, _toLowerCase as toLowerCase, _toUpperCase as toUpperCase, _slugify as slugify, } from \"../core/index.js\";\n", "import * as core from \"../core/index.js\";\nimport { $ZodError } from \"../core/index.js\";\nimport * as util from \"../core/util.js\";\n/* Prototypes that already carry the lazy helper methods. Seeded with the\n * intrinsics so that `init` on a foreign object \u2014 it accepts any object \u2014\n * can never install an accessor onto a prototype we do not own. */\nconst _installedErrorProtos = /* @__PURE__ */ new WeakSet([Object.prototype, Error.prototype]);\n/* Helper methods live as non-enumerable lazy getters on the shared\n * prototype instead of own properties on every instance. On first\n * access the getter allocates the per-instance closure and caches it\n * as a non-enumerable own property, so detached usage still works and\n * the allocation only happens for methods actually touched. */\nfunction _lazyMethod(proto, key, make) {\n Object.defineProperty(proto, key, {\n configurable: true,\n enumerable: false,\n get() {\n const value = make(this);\n Object.defineProperty(this, key, { value, configurable: true, writable: true });\n return value;\n },\n set(value) {\n Object.defineProperty(this, key, { value, configurable: true, writable: true });\n },\n });\n}\nconst initializer = (inst, issues) => {\n $ZodError.init(inst, issues);\n inst.name = \"ZodError\";\n const proto = Object.getPrototypeOf(inst);\n if (_installedErrorProtos.has(proto))\n return;\n _installedErrorProtos.add(proto);\n _lazyMethod(proto, \"format\", (self) => (mapper) => core.formatError(self, mapper));\n _lazyMethod(proto, \"flatten\", (self) => (mapper) => core.flattenError(self, mapper));\n _lazyMethod(proto, \"addIssue\", (self) => (issue) => {\n self.issues.push(issue);\n self.message = JSON.stringify(self.issues, util.jsonStringifyReplacer, 2);\n });\n _lazyMethod(proto, \"addIssues\", (self) => (issues) => {\n self.issues.push(...issues);\n self.message = JSON.stringify(self.issues, util.jsonStringifyReplacer, 2);\n });\n Object.defineProperty(proto, \"isEmpty\", {\n configurable: true,\n enumerable: false,\n get() {\n return this.issues.length === 0;\n },\n });\n};\nexport const ZodError = /*@__PURE__*/ core.$constructor(\"ZodError\", initializer);\nexport const ZodRealError = /*@__PURE__*/ core.$constructor(\"ZodError\", initializer, undefined, {\n Parent: Error,\n});\n// /** @deprecated Use `z.core.$ZodErrorMapCtx` instead. */\n// export type ErrorMapCtx = core.$ZodErrorMapCtx;\n", "import * as core from \"../core/index.js\";\nimport { ZodRealError } from \"./errors.js\";\nexport const parse = /* @__PURE__ */ core._parse(ZodRealError);\nexport const parseAsync = /* @__PURE__ */ core._parseAsync(ZodRealError);\nexport const safeParse = /* @__PURE__ */ core._safeParse(ZodRealError);\nexport const safeParseAsync = /* @__PURE__ */ core._safeParseAsync(ZodRealError);\nexport { validate, validateAsync } from \"../core/index.js\";\n// Codec functions\nexport const encode = /* @__PURE__ */ core._encode(ZodRealError);\nexport const decode = /* @__PURE__ */ core._decode(ZodRealError);\nexport const encodeAsync = /* @__PURE__ */ core._encodeAsync(ZodRealError);\nexport const decodeAsync = /* @__PURE__ */ core._decodeAsync(ZodRealError);\nexport const safeEncode = /* @__PURE__ */ core._safeEncode(ZodRealError);\nexport const safeDecode = /* @__PURE__ */ core._safeDecode(ZodRealError);\nexport const safeEncodeAsync = /* @__PURE__ */ core._safeEncodeAsync(ZodRealError);\nexport const safeDecodeAsync = /* @__PURE__ */ core._safeDecodeAsync(ZodRealError);\n", "// Zod 3 compat layer\nimport * as core from \"../core/index.js\";\n/** @deprecated Use the raw string literal codes instead, e.g. \"invalid_type\". */\nexport const ZodIssueCode = {\n invalid_type: \"invalid_type\",\n too_big: \"too_big\",\n too_small: \"too_small\",\n invalid_format: \"invalid_format\",\n not_multiple_of: \"not_multiple_of\",\n unrecognized_keys: \"unrecognized_keys\",\n invalid_union: \"invalid_union\",\n invalid_key: \"invalid_key\",\n invalid_element: \"invalid_element\",\n invalid_value: \"invalid_value\",\n custom: \"custom\",\n};\nexport { $brand, config } from \"../core/index.js\";\n/** @deprecated Use `z.config(params)` instead. */\nexport function setErrorMap(map) {\n core.config({\n customError: map,\n });\n}\n/** @deprecated Use `z.config()` instead. */\nexport function getErrorMap() {\n return core.config().customError;\n}\n/** @deprecated Do not use. Stub definition, only included for zod-to-json-schema compatibility. */\nexport var ZodFirstPartyTypeKind;\n(function (ZodFirstPartyTypeKind) {\n})(ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {}));\n", "import * as core from \"../core/index.js\";\nimport { ZodISODate, ZodISODateTime, ZodISODuration, ZodISOTime } from \"./schemas.js\";\nexport { ZodISODate, ZodISODateTime, ZodISODuration, ZodISOTime } from \"./schemas.js\";\nexport function datetime(params) {\n return core._isoDateTime(ZodISODateTime, params);\n}\nexport function date(params) {\n return core._isoDate(ZodISODate, params);\n}\nexport function time(params) {\n return core._isoTime(ZodISOTime, params);\n}\nexport function duration(params) {\n return core._isoDuration(ZodISODuration, params);\n}\n", "import { globalRegistry } from \"../core/registries.js\";\nimport { assignProp, isPlainObject } from \"../core/util.js\";\nimport * as _checks from \"./checks.js\";\nimport * as _iso from \"./iso.js\";\nimport * as _schemas from \"./schemas.js\";\n// Local z object to avoid circular dependency with ../index.js\nconst z = {\n ..._schemas,\n ..._checks,\n iso: _iso,\n};\n// Keys that are recognized and handled by the conversion logic\nconst RECOGNIZED_KEYS = /*@__PURE__*/ new Set([\n // Schema identification\n \"$schema\",\n \"$ref\",\n \"$defs\",\n \"definitions\",\n // Core schema keywords\n \"$id\",\n \"id\",\n \"$comment\",\n \"$anchor\",\n \"$vocabulary\",\n \"$dynamicRef\",\n \"$dynamicAnchor\",\n // Type\n \"type\",\n \"enum\",\n \"const\",\n // Composition\n \"anyOf\",\n \"oneOf\",\n \"allOf\",\n \"not\",\n // Object\n \"properties\",\n \"required\",\n \"additionalProperties\",\n \"patternProperties\",\n \"propertyNames\",\n \"minProperties\",\n \"maxProperties\",\n // Array\n \"items\",\n \"prefixItems\",\n \"additionalItems\",\n \"minItems\",\n \"maxItems\",\n \"uniqueItems\",\n \"contains\",\n \"minContains\",\n \"maxContains\",\n // String\n \"minLength\",\n \"maxLength\",\n \"pattern\",\n \"format\",\n // Number\n \"minimum\",\n \"maximum\",\n \"exclusiveMinimum\",\n \"exclusiveMaximum\",\n \"multipleOf\",\n // Already handled metadata\n \"description\",\n \"default\",\n // Content\n \"contentEncoding\",\n \"contentMediaType\",\n \"contentSchema\",\n // Unsupported (error-throwing)\n \"unevaluatedItems\",\n \"unevaluatedProperties\",\n \"if\",\n \"then\",\n \"else\",\n \"dependentSchemas\",\n \"dependentRequired\",\n // OpenAPI\n \"nullable\",\n \"readOnly\",\n]);\nfunction detectVersion(schema, defaultTarget) {\n const $schema = schema.$schema;\n if ($schema === \"https://json-schema.org/draft/2020-12/schema\") {\n return \"draft-2020-12\";\n }\n if ($schema === \"http://json-schema.org/draft-07/schema#\") {\n return \"draft-7\";\n }\n if ($schema === \"http://json-schema.org/draft-04/schema#\") {\n return \"draft-4\";\n }\n // Use defaultTarget if provided, otherwise default to draft-2020-12\n return defaultTarget ?? \"draft-2020-12\";\n}\n// Positional schemas constrain the elements that are present; only minItems makes them required.\nfunction applyMinItems(items, minItems) {\n return items.map((item, index) => (index < minItems ? item : item.optional()));\n}\n// Inverse of the encoding applied to $ref pointer segments in to-json-schema.ts. Per RFC 6901 the `~1` replacement must run before `~0`.\nfunction decodeJSONPointerSegment(segment) {\n return segment.replace(/~1/g, \"/\").replace(/~0/g, \"~\");\n}\nfunction resolveRef(ref, ctx) {\n if (!ref.startsWith(\"#\")) {\n throw new Error(\"External $ref is not supported, only local refs (#/...) are allowed\");\n }\n const path = ref.slice(1).split(\"/\").filter(Boolean);\n // Handle root reference \"#\"\n if (path.length === 0) {\n return ctx.rootSchema;\n }\n const defsKey = ctx.version === \"draft-2020-12\" ? \"$defs\" : \"definitions\";\n if (path[0] === defsKey) {\n const key = path[1] === undefined ? undefined : decodeJSONPointerSegment(path[1]);\n if (!key || !ctx.defs[key]) {\n throw new Error(`Reference not found: ${ref}`);\n }\n return ctx.defs[key];\n }\n throw new Error(`Reference not found: ${ref}`);\n}\n/**\n * Enforces the keywords that constrain an object's own keys \u2014 `propertyNames`,\n * `minProperties`, `maxProperties` \u2014 before `objectSchema` runs. The guard has\n * to see the raw input: an object parse drops `__proto__` and can add keys from\n * a property `default`, so its output is not the set of names the instance\n * actually carried.\n */\nfunction checkObjectGuards(objectSchema, guards) {\n // An identity transform, not z.any(), so `toJSONSchema` reports the object on both the input and the output side of the pipe.\n const guard = z\n .transform((value) => value)\n .check((payload) => {\n const value = payload.value;\n if (typeof value !== \"object\" || value === null || Array.isArray(value))\n return;\n const keys = Object.getOwnPropertyNames(value);\n if (guards.minProperties !== undefined && keys.length < guards.minProperties) {\n payload.issues.push({\n origin: \"object\",\n code: \"too_small\",\n minimum: guards.minProperties,\n inclusive: true,\n message: `Too small: expected object to have >=${guards.minProperties} properties`,\n input: value,\n inst: objectSchema,\n continue: true,\n });\n }\n if (guards.maxProperties !== undefined && keys.length > guards.maxProperties) {\n payload.issues.push({\n origin: \"object\",\n code: \"too_big\",\n maximum: guards.maxProperties,\n inclusive: true,\n message: `Too big: expected object to have <=${guards.maxProperties} properties`,\n input: value,\n inst: objectSchema,\n continue: true,\n });\n }\n if (guards.keySchema) {\n for (const key of keys) {\n const result = guards.keySchema.safeParse(key);\n if (result.success)\n continue;\n payload.issues.push({\n code: \"invalid_key\",\n origin: \"record\",\n issues: result.error.issues,\n input: key,\n path: [key],\n continue: true,\n });\n }\n }\n });\n return guard.pipe(objectSchema);\n}\n/**\n * An injective string for JSON data: two values share a key exactly when `uniqueItems` calls them\n * equal, so duplicate detection is a Map lookup rather than a pairwise walk. Strings and keys are\n * length-prefixed so no value can spell another one. `null` means \"never equal to anything\" \u2014 a\n * cycle or a NaN, neither of which JSON can express.\n */\nfunction canonicalKey(value, seen) {\n if (value === null)\n return \"z\";\n const type = typeof value;\n if (type !== \"object\") {\n if (type === \"number\" && Number.isNaN(value))\n return null;\n const raw = String(value);\n return `${type[0]}${raw.length}:${raw}`;\n }\n if (seen.has(value))\n return null;\n seen.add(value);\n try {\n if (Array.isArray(value)) {\n const parts = [];\n for (const item of value) {\n const key = canonicalKey(item, seen);\n if (key === null)\n return null;\n parts.push(key);\n }\n return `a${parts.length}:[${parts.join(\",\")}]`;\n }\n const keys = Object.keys(value).sort();\n const parts = [];\n for (const k of keys) {\n const key = canonicalKey(value[k], seen);\n if (key === null)\n return null;\n parts.push(`${k.length}:${k}=${key}`);\n }\n return `o${parts.length}:{${parts.join(\",\")}}`;\n }\n finally {\n seen.delete(value);\n }\n}\n// keywords whose value is a schema or an array of them\nconst SCHEMA_KEYWORDS = /*@__PURE__*/ new Set([\n \"items\",\n \"prefixItems\",\n \"additionalItems\",\n \"additionalProperties\",\n \"contains\",\n \"propertyNames\",\n \"not\",\n \"if\",\n \"then\",\n \"else\",\n \"allOf\",\n \"anyOf\",\n \"oneOf\",\n \"unevaluatedItems\",\n \"unevaluatedProperties\",\n \"contentSchema\",\n]);\n// keywords whose value maps names to schemas. draft-7 `dependencies` also allows an array of property names, which holds no schema to walk\nconst SCHEMA_MAP_KEYWORDS = /*@__PURE__*/ new Set([\n \"properties\",\n \"patternProperties\",\n \"dependentSchemas\",\n \"dependencies\",\n \"$defs\",\n \"definitions\",\n]);\n/**\n * True when a subschema holds a `$ref` anywhere a schema can appear. Only those positions are\n * walked: `$ref` under `default` or an `x-` annotation is instance data with an ordinary key, and\n * reading it as a reference would drop a constraint that resolves perfectly well.\n */\nfunction containsRef(value) {\n if (typeof value !== \"object\" || value === null)\n return false;\n if (Array.isArray(value))\n return value.some(containsRef);\n if (typeof value.$ref === \"string\")\n return true;\n return Object.entries(value).some(([key, sub]) => {\n if (SCHEMA_KEYWORDS.has(key))\n return containsRef(sub);\n if (!SCHEMA_MAP_KEYWORDS.has(key) || typeof sub !== \"object\" || sub === null)\n return false;\n return Object.values(sub).some(containsRef);\n });\n}\nfunction plural(n) {\n return n === 1 ? \"element\" : \"elements\";\n}\n/**\n * Enforces `uniqueItems` and the `contains` family before `arraySchema` runs, for the same reason\n * `checkObjectGuards` runs pre-pipe: an item parse can apply a nested `default`, so the parsed\n * array is not the instance the keywords are defined over. A guard issue aborts the pipe, so\n * `minItems`/`maxItems` are not also reported on the same parse \u2014 instance correctness is worth\n * more than co-reporting two issues.\n */\nfunction checkArrayGuards(arraySchema, guards) {\n // An identity transform, not z.any(), so `toJSONSchema` reports the array on both the input and the output side of the pipe.\n const guard = z\n .transform((value) => value)\n .check((payload) => {\n const items = payload.value;\n if (!Array.isArray(items))\n return;\n if (guards.uniqueItems === true) {\n const firstSeen = new Map();\n for (let i = 0; i < items.length; i++) {\n const key = canonicalKey(items[i], new Set());\n if (key === null)\n continue;\n const first = firstSeen.get(key);\n if (first === undefined) {\n firstSeen.set(key, i);\n continue;\n }\n payload.issues.push({\n code: \"custom\",\n message: `Array items must be unique: element at index ${i} duplicates the one at index ${first}`,\n input: items,\n path: [i],\n continue: true,\n });\n }\n }\n if (guards.containsSchema) {\n const minContains = guards.minContains ?? 1;\n // one past the ceiling already proves the failure, and nothing above it changes the verdict\n const ceiling = guards.maxContains !== undefined ? guards.maxContains + 1 : Number.POSITIVE_INFINITY;\n let matches = 0;\n for (const item of items) {\n if (guards.containsSchema.safeParse(item).success && ++matches >= ceiling)\n break;\n }\n if (matches < minContains) {\n // the scan ran to the end, so this count is exact\n payload.issues.push({\n code: \"custom\",\n message: `Array must contain at least ${minContains} matching ${plural(minContains)}; found ${matches}`,\n input: items,\n continue: true,\n });\n }\n if (guards.maxContains !== undefined && matches > guards.maxContains) {\n payload.issues.push({\n code: \"custom\",\n message: `Array must contain at most ${guards.maxContains} matching ${plural(guards.maxContains)}`,\n input: items,\n continue: true,\n });\n }\n }\n });\n return guard.pipe(arraySchema);\n}\nfunction getTupleRest(restSchema, ctx) {\n if (restSchema === false) {\n return undefined;\n }\n if (restSchema === undefined || restSchema === true) {\n return z.any();\n }\n return convertSchema(restSchema, ctx);\n}\n// the RFC 3339 full-time keyword, narrower than `z.iso.time()`; local because sharing it via `timeSource` pins that builder into every bundle (+139 B gzipped on a mini `z.boolean()`)\nconst fullTime = /^(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|[+-](?:[01]\\d|2[0-3]):[0-5]\\d)$/;\nfunction convertBaseSchema(schema, ctx) {\n // Handle unsupported features\n if (schema.not !== undefined) {\n // Special case: { not: {} } represents never\n if (typeof schema.not === \"object\" && Object.keys(schema.not).length === 0) {\n return z.never();\n }\n throw new Error(\"not is not supported in Zod (except { not: {} } for never)\");\n }\n if (schema.unevaluatedItems !== undefined) {\n throw new Error(\"unevaluatedItems is not supported\");\n }\n if (schema.unevaluatedProperties !== undefined) {\n throw new Error(\"unevaluatedProperties is not supported\");\n }\n if (schema.if !== undefined || schema.then !== undefined || schema.else !== undefined) {\n throw new Error(\"Conditional schemas (if/then/else) are not supported\");\n }\n if (schema.dependentSchemas !== undefined || schema.dependentRequired !== undefined) {\n throw new Error(\"dependentSchemas and dependentRequired are not supported\");\n }\n // Handle $ref\n if (schema.$ref) {\n const refPath = schema.$ref;\n if (ctx.refs.has(refPath)) {\n return ctx.refs.get(refPath);\n }\n if (ctx.processing.has(refPath)) {\n // Circular reference - use lazy\n return z.lazy(() => {\n if (!ctx.refs.has(refPath)) {\n throw new Error(`Circular reference not resolved: ${refPath}`);\n }\n return ctx.refs.get(refPath);\n });\n }\n ctx.processing.add(refPath);\n const resolved = resolveRef(refPath, ctx);\n const zodSchema = convertSchema(resolved, ctx);\n ctx.refs.set(refPath, zodSchema);\n ctx.processing.delete(refPath);\n return zodSchema;\n }\n // Handle enum\n if (schema.enum !== undefined) {\n const enumValues = schema.enum;\n // Special case: OpenAPI 3.0 null representation { type: \"string\", nullable: true, enum: [null] }\n if (ctx.version === \"openapi-3.0\" &&\n schema.nullable === true &&\n enumValues.length === 1 &&\n enumValues[0] === null) {\n return z.null();\n }\n if (enumValues.length === 0) {\n return z.never();\n }\n if (enumValues.length === 1) {\n return z.literal(enumValues[0]);\n }\n // Check if all values are strings\n if (enumValues.every((v) => typeof v === \"string\")) {\n return z.enum(enumValues);\n }\n // Mixed types - use union of literals\n const literalSchemas = enumValues.map((v) => z.literal(v));\n if (literalSchemas.length < 2) {\n return literalSchemas[0];\n }\n return z.union([literalSchemas[0], literalSchemas[1], ...literalSchemas.slice(2)]);\n }\n // Handle const\n if (schema.const !== undefined) {\n return z.literal(schema.const);\n }\n // Handle type\n const type = schema.type;\n if (Array.isArray(type)) {\n // Expand type array into anyOf union\n const typeSchemas = type.map((t) => {\n const typeSchema = { ...schema, type: t };\n return convertBaseSchema(typeSchema, ctx);\n });\n if (typeSchemas.length === 0) {\n return z.never();\n }\n if (typeSchemas.length === 1) {\n return typeSchemas[0];\n }\n return z.union(typeSchemas);\n }\n if (!type) {\n // No type specified - empty schema (any)\n return z.any();\n }\n let zodSchema;\n switch (type) {\n case \"string\": {\n let stringSchema = z.string();\n // Apply format using .check() with Zod format functions\n if (schema.format) {\n const format = schema.format;\n // Map common formats to Zod check functions\n if (format === \"email\") {\n stringSchema = stringSchema.check(z.email());\n }\n else if (format === \"uri\" || format === \"uri-reference\") {\n stringSchema = stringSchema.check(z.url());\n }\n else if (format === \"uuid\" || format === \"guid\") {\n stringSchema = stringSchema.check(z.uuid());\n }\n else if (format === \"date-time\") {\n stringSchema = stringSchema.check(z.iso.datetime({ offset: true }));\n }\n else if (format === \"date\") {\n stringSchema = stringSchema.check(z.iso.date());\n }\n else if (format === \"time\") {\n stringSchema = stringSchema.check(z.regex(fullTime));\n }\n else if (format === \"duration\") {\n stringSchema = stringSchema.check(z.iso.duration());\n }\n else if (format === \"hostname\") {\n stringSchema = stringSchema.check(z.hostname());\n }\n else if (format === \"ipv4\") {\n stringSchema = stringSchema.check(z.ipv4());\n }\n else if (format === \"ipv6\") {\n stringSchema = stringSchema.check(z.ipv6());\n }\n else if (format === \"mac\") {\n stringSchema = stringSchema.check(z.mac());\n }\n else if (format === \"cidr\") {\n stringSchema = stringSchema.check(z.cidrv4());\n }\n else if (format === \"cidr-v6\") {\n stringSchema = stringSchema.check(z.cidrv6());\n }\n else if (format === \"base64\") {\n stringSchema = stringSchema.check(z.base64());\n }\n else if (format === \"base64url\") {\n stringSchema = stringSchema.check(z.base64url());\n }\n else if (format === \"e164\") {\n stringSchema = stringSchema.check(z.e164());\n }\n else if (format === \"credit_card\") {\n stringSchema = stringSchema.check(z.creditCard());\n }\n else if (format === \"iban\") {\n stringSchema = stringSchema.check(z.iban());\n }\n else if (format === \"jwt\") {\n stringSchema = stringSchema.check(z.jwt());\n }\n else if (format === \"emoji\") {\n stringSchema = stringSchema.check(z.emoji());\n }\n else if (format === \"nanoid\") {\n stringSchema = stringSchema.check(z.nanoid());\n }\n else if (format === \"cuid\") {\n stringSchema = stringSchema.check(z.cuid());\n }\n else if (format === \"cuid2\") {\n stringSchema = stringSchema.check(z.cuid2());\n }\n else if (format === \"ulid\") {\n stringSchema = stringSchema.check(z.ulid());\n }\n else if (format === \"xid\") {\n stringSchema = stringSchema.check(z.xid());\n }\n else if (format === \"ksuid\") {\n stringSchema = stringSchema.check(z.ksuid());\n }\n // Note: json-string format is not currently supported by Zod\n // Custom formats are ignored - keep as plain string\n }\n // Apply constraints\n if (typeof schema.minLength === \"number\") {\n stringSchema = stringSchema.min(schema.minLength);\n }\n if (typeof schema.maxLength === \"number\") {\n stringSchema = stringSchema.max(schema.maxLength);\n }\n if (schema.pattern) {\n // JSON Schema patterns are not implicitly anchored (match anywhere in string)\n stringSchema = stringSchema.regex(new RegExp(schema.pattern));\n }\n zodSchema = stringSchema;\n break;\n }\n case \"number\":\n case \"integer\": {\n let numberSchema = type === \"integer\" ? z.number().int() : z.number();\n // Apply constraints\n // In draft-04, `exclusiveMinimum: true` makes the sibling `minimum` exclusive rather than an independent bound, so the inclusive `.min()` is skipped; emitting it too would be dominated by the exclusive check and report a second, weaker issue.\n if (typeof schema.minimum === \"number\" && schema.exclusiveMinimum !== true) {\n numberSchema = numberSchema.min(schema.minimum);\n }\n if (typeof schema.maximum === \"number\" && schema.exclusiveMaximum !== true) {\n numberSchema = numberSchema.max(schema.maximum);\n }\n if (typeof schema.exclusiveMinimum === \"number\") {\n numberSchema = numberSchema.gt(schema.exclusiveMinimum);\n }\n else if (schema.exclusiveMinimum === true && typeof schema.minimum === \"number\") {\n numberSchema = numberSchema.gt(schema.minimum);\n }\n if (typeof schema.exclusiveMaximum === \"number\") {\n numberSchema = numberSchema.lt(schema.exclusiveMaximum);\n }\n else if (schema.exclusiveMaximum === true && typeof schema.maximum === \"number\") {\n numberSchema = numberSchema.lt(schema.maximum);\n }\n if (typeof schema.multipleOf === \"number\") {\n numberSchema = numberSchema.multipleOf(schema.multipleOf);\n }\n zodSchema = numberSchema;\n break;\n }\n case \"boolean\": {\n zodSchema = z.boolean();\n break;\n }\n case \"null\": {\n zodSchema = z.null();\n break;\n }\n case \"object\": {\n const shape = {};\n const properties = schema.properties || {};\n const requiredSet = new Set(schema.required || []);\n const additionalSchema = typeof schema.additionalProperties === \"object\"\n ? convertSchema(schema.additionalProperties, ctx)\n : undefined;\n // Convert properties - mark optional ones\n for (const [key, propSchema] of Object.entries(properties)) {\n const propZodSchema = convertSchema(propSchema, ctx);\n // If not in required array, make it optional. assignProp so a __proto__ key becomes an own property instead of hitting the inherited setter\n assignProp(shape, key, requiredSet.has(key) ? propZodSchema : propZodSchema.optional());\n }\n // Handle patternProperties\n if (schema.patternProperties) {\n // patternProperties: keys matching pattern must satisfy corresponding schema. Use loose records so non-matching keys pass through\n const patternProps = schema.patternProperties;\n const patternKeys = Object.keys(patternProps);\n const looseRecords = [];\n for (const pattern of patternKeys) {\n const patternValue = convertSchema(patternProps[pattern], ctx);\n const keySchema = z.string().regex(new RegExp(pattern));\n looseRecords.push(z.looseRecord(keySchema, patternValue));\n }\n // Build intersection: object schema + all pattern property records\n const schemasToIntersect = [];\n if (Object.keys(shape).length > 0) {\n // Use passthrough so patternProperties can validate additional keys\n schemasToIntersect.push(z.object(shape).passthrough());\n }\n schemasToIntersect.push(...looseRecords);\n if (schemasToIntersect.length === 0) {\n zodSchema = z.object({}).passthrough();\n }\n else if (schemasToIntersect.length === 1) {\n zodSchema = schemasToIntersect[0];\n }\n else {\n // Chain intersections: (A & B) & C & D ...\n let result = z.intersection(schemasToIntersect[0], schemasToIntersect[1]);\n for (let i = 2; i < schemasToIntersect.length; i++) {\n result = z.intersection(result, schemasToIntersect[i]);\n }\n zodSchema = result;\n }\n // When additionalProperties is false, reject keys that are neither defined in properties nor matched by any patternProperty.\n if (schema.additionalProperties === false) {\n const propertyKeys = Object.keys(shape);\n const patterns = patternKeys.map((p) => new RegExp(p));\n const basePatternSchema = zodSchema;\n zodSchema = zodSchema.check((payload) => {\n if (!isPlainObject(payload.value))\n return;\n const unrecognized = [];\n for (const key of Object.keys(payload.value)) {\n if (propertyKeys.includes(key))\n continue;\n if (patterns.some((regex) => regex.test(key)))\n continue;\n unrecognized.push(key);\n }\n if (unrecognized.length) {\n payload.issues.push({\n code: \"unrecognized_keys\",\n keys: unrecognized,\n input: payload.value,\n inst: basePatternSchema,\n });\n }\n });\n }\n }\n else {\n // Handle additionalProperties. In JSON Schema, additionalProperties defaults to true (allow any extra properties). In Zod, objects strip unknown keys by default, so we need to handle this explicitly\n const objectSchema = z.object(shape);\n if (schema.additionalProperties === false) {\n // Strict mode - no extra properties allowed\n zodSchema = objectSchema.strict();\n }\n else if (additionalSchema) {\n // Extra properties must match the specified schema\n zodSchema = objectSchema.catchall(additionalSchema);\n }\n else {\n // additionalProperties is true or undefined - allow any extra properties (passthrough)\n zodSchema = objectSchema.passthrough();\n }\n }\n // propertyNames constrains key *names* only, and says nothing about which keys are required or how their values validate. Layering it on top of the result keeps properties/patternProperties/additionalProperties composing underneath. `true` allows every name, so it needs no guard.\n const hasKeyGuard = schema.propertyNames !== undefined && schema.propertyNames !== true;\n const minProperties = typeof schema.minProperties === \"number\" ? schema.minProperties : undefined;\n const maxProperties = typeof schema.maxProperties === \"number\" ? schema.maxProperties : undefined;\n if (hasKeyGuard || minProperties !== undefined || maxProperties !== undefined) {\n let keySchema;\n if (hasKeyGuard) {\n // Keys are always strings, so a propertyNames subschema that omits `type` still constrains them \u2014 without this it would convert to z.any().\n const keyJSONSchema = typeof schema.propertyNames === \"object\" && schema.propertyNames.type === undefined\n ? { type: \"string\", ...schema.propertyNames }\n : schema.propertyNames;\n keySchema = convertSchema(keyJSONSchema, ctx);\n }\n zodSchema = checkObjectGuards(zodSchema, { keySchema, minProperties, maxProperties });\n }\n break;\n }\n case \"array\": {\n // Check if this is a tuple (prefixItems or items as array)\n const prefixItems = schema.prefixItems;\n const items = schema.items;\n if (prefixItems && Array.isArray(prefixItems)) {\n // Tuple with prefixItems (draft-2020-12)\n const minItems = typeof schema.minItems === \"number\" ? schema.minItems : 0;\n const tupleItems = prefixItems.map((item) => convertSchema(item, ctx));\n const positionalItems = applyMinItems(tupleItems, minItems);\n const rest = !Array.isArray(items) ? getTupleRest(items, ctx) : undefined;\n const tupleSchema = z.tuple(positionalItems);\n zodSchema = rest ? tupleSchema.rest(rest) : tupleSchema;\n // Apply minItems/maxItems constraints to tuples\n if (typeof schema.minItems === \"number\") {\n zodSchema = zodSchema.check(z.minLength(schema.minItems));\n }\n if (typeof schema.maxItems === \"number\") {\n zodSchema = zodSchema.check(z.maxLength(schema.maxItems));\n }\n }\n else if (Array.isArray(items)) {\n // Tuple with items array (draft-7)\n const minItems = typeof schema.minItems === \"number\" ? schema.minItems : 0;\n const tupleItems = items.map((item) => convertSchema(item, ctx));\n const positionalItems = applyMinItems(tupleItems, minItems);\n const rest = getTupleRest(schema.additionalItems, ctx);\n const tupleSchema = z.tuple(positionalItems);\n zodSchema = rest ? tupleSchema.rest(rest) : tupleSchema;\n // Apply minItems/maxItems constraints to tuples\n if (typeof schema.minItems === \"number\") {\n zodSchema = zodSchema.check(z.minLength(schema.minItems));\n }\n if (typeof schema.maxItems === \"number\") {\n zodSchema = zodSchema.check(z.maxLength(schema.maxItems));\n }\n }\n else if (items !== undefined) {\n // Regular array\n const element = convertSchema(items, ctx);\n let arraySchema = z.array(element);\n // Apply constraints\n if (typeof schema.minItems === \"number\") {\n arraySchema = arraySchema.min(schema.minItems);\n }\n if (typeof schema.maxItems === \"number\") {\n arraySchema = arraySchema.max(schema.maxItems);\n }\n zodSchema = arraySchema;\n }\n else {\n // No items specified - array of any\n zodSchema = z.array(z.any());\n }\n // minContains/maxContains only constrain anything when `contains` itself is present\n if (schema.uniqueItems === true || schema.contains !== undefined) {\n zodSchema = checkArrayGuards(zodSchema, {\n uniqueItems: schema.uniqueItems === true,\n containsSchema: schema.contains !== undefined ? convertSchema(schema.contains, ctx) : undefined,\n minContains: typeof schema.minContains === \"number\" ? schema.minContains : undefined,\n maxContains: typeof schema.maxContains === \"number\" ? schema.maxContains : undefined,\n });\n }\n break;\n }\n default:\n throw new Error(`Unsupported type: ${type}`);\n }\n return zodSchema;\n}\nfunction convertSchema(schema, ctx) {\n if (typeof schema === \"boolean\") {\n return schema ? z.any() : z.never();\n }\n // Convert base schema first (ignoring composition keywords)\n let baseSchema = convertBaseSchema(schema, ctx);\n const hasExplicitType = schema.type || schema.enum !== undefined || schema.const !== undefined;\n // Process composition keywords LAST (they can appear together)\n // Handle anyOf - wrap base schema with union\n if (schema.anyOf && Array.isArray(schema.anyOf)) {\n const options = schema.anyOf.map((s) => convertSchema(s, ctx));\n const anyOfUnion = z.union(options);\n baseSchema = hasExplicitType ? z.intersection(baseSchema, anyOfUnion) : anyOfUnion;\n }\n // Handle oneOf - exclusive union (exactly one must match)\n if (schema.oneOf && Array.isArray(schema.oneOf)) {\n const options = schema.oneOf.map((s) => convertSchema(s, ctx));\n const oneOfUnion = z.xor(options);\n baseSchema = hasExplicitType ? z.intersection(baseSchema, oneOfUnion) : oneOfUnion;\n }\n // Handle allOf - wrap base schema with intersection\n if (schema.allOf && Array.isArray(schema.allOf)) {\n if (schema.allOf.length === 0) {\n baseSchema = hasExplicitType ? baseSchema : z.any();\n }\n else {\n let result = hasExplicitType ? baseSchema : convertSchema(schema.allOf[0], ctx);\n const startIdx = hasExplicitType ? 0 : 1;\n for (let i = startIdx; i < schema.allOf.length; i++) {\n result = z.intersection(result, convertSchema(schema.allOf[i], ctx));\n }\n baseSchema = result;\n }\n }\n // Handle nullable (OpenAPI 3.0)\n if (schema.nullable === true && ctx.version === \"openapi-3.0\") {\n baseSchema = z.nullable(baseSchema);\n }\n // Handle readOnly\n if (schema.readOnly === true) {\n baseSchema = z.readonly(baseSchema);\n }\n // Apply `default` so it wraps the fully-composed schema. This ensures `parse(undefined) -> default` works regardless of which branch of `convertBaseSchema` produced the inner schema (enum/const/not/typed/etc.).\n if (schema.default !== undefined) {\n baseSchema = baseSchema.default(schema.default);\n }\n // Collect non-description annotation metadata into the user-supplied registry. Description is handled separately below via `.describe()` to preserve the contract that `schema.description` reads from globalRegistry.\n const extraMeta = {};\n const coreMetadataKeys = [\"$id\", \"id\", \"$comment\", \"$anchor\", \"$vocabulary\", \"$dynamicRef\", \"$dynamicAnchor\"];\n for (const key of coreMetadataKeys) {\n if (key in schema) {\n extraMeta[key] = schema[key];\n }\n }\n const contentMetadataKeys = [\"contentEncoding\", \"contentMediaType\", \"contentSchema\"];\n for (const key of contentMetadataKeys) {\n if (key in schema) {\n extraMeta[key] = schema[key];\n }\n }\n // `propertyNames` and `contains` are enforced by a guard, which `toJSONSchema` cannot infer, so the original keyword is carried as metadata to keep the round-trip lossless. Only where it was actually applied: on any other type it is inert, and on a `$ref` the metadata would land on the target every reference shares. A carried subschema is copied verbatim while the root `$defs` stay behind, so one holding a `$ref` is dropped rather than emitted as a dangling reference.\n if (schema.type === \"object\" && schema.$ref === undefined) {\n if (schema.propertyNames !== undefined && !containsRef(schema.propertyNames)) {\n extraMeta.propertyNames = schema.propertyNames;\n }\n for (const key of [\"minProperties\", \"maxProperties\"]) {\n if (schema[key] !== undefined)\n extraMeta[key] = schema[key];\n }\n }\n if (schema.type === \"array\" && schema.$ref === undefined) {\n if (schema.contains !== undefined && !containsRef(schema.contains)) {\n extraMeta.contains = schema.contains;\n }\n for (const key of [\"uniqueItems\", \"minContains\", \"maxContains\"]) {\n if (schema[key] !== undefined)\n extraMeta[key] = schema[key];\n }\n }\n for (const key of Object.keys(schema)) {\n if (!RECOGNIZED_KEYS.has(key)) {\n assignProp(extraMeta, key, schema[key]);\n }\n }\n if (Object.keys(extraMeta).length > 0) {\n ctx.registry.add(baseSchema, extraMeta);\n }\n // Apply description last. `.describe()` clones the schema and sets `_zod.parent` on the clone, so registry lookups on the returned reference still resolve `extraMeta` via parent inheritance.\n if (schema.description) {\n baseSchema = baseSchema.describe(schema.description);\n }\n return baseSchema;\n}\n/**\n * Converts a JSON Schema to a Zod schema. This function should be considered semi-experimental. It's behavior is liable to change. */\nexport function fromJSONSchema(schema, params) {\n // Handle boolean schemas\n if (typeof schema === \"boolean\") {\n return schema ? z.any() : z.never();\n }\n // Normalize input via a JSON round-trip. This guarantees the converter walks a plain, finite, JSON-valid object graph: cyclic inputs fail here, getter/Proxy-based properties are materialized into static values, and class instances collapse to plain objects.\n let normalized;\n try {\n normalized = JSON.parse(JSON.stringify(schema));\n }\n catch {\n throw new Error(\"fromJSONSchema input is not valid JSON (possibly cyclic); use $defs/$ref for recursive schemas\");\n }\n const version = detectVersion(normalized, params?.defaultTarget);\n const defs = (normalized.$defs || normalized.definitions || {});\n const ctx = {\n version,\n defs,\n refs: new Map(),\n processing: new Set(),\n rootSchema: normalized,\n registry: params?.registry ?? globalRegistry,\n };\n return convertSchema(normalized, ctx);\n}\n", "// Traversal pattern adapted from Jaen's v3 `mapOnSchema` (Apache-2.0): https://gist.github.com/jaens/7e15ae1984bb338c86eb5e452dee3010\nimport * as schemas from \"./schemas.js\";\nimport { clone } from \"./util.js\";\nconst RESOLVING = Symbol(\"z.visit/resolving\");\nexport function visit(schema, fnOrHandlers) {\n const fn = typeof fnOrHandlers === \"function\"\n ? fnOrHandlers\n : (node, rewritten) => {\n // A union of handlers isn't callable with one argument; handler `K` only ever sees kind `K`.\n const h = fnOrHandlers[node._zod.def.type];\n return h ? h(node, rewritten) : node;\n };\n const cache = new Map();\n function run(s) {\n const cached = cache.get(s);\n if (cached === RESOLVING) {\n // Non-lazy cycle. Defer to parse time, when the cache holds the finished node.\n return new schemas.$ZodLazy({\n type: \"lazy\",\n getter: () => cache.get(s),\n });\n }\n if (cached !== undefined)\n return cached;\n cache.set(s, RESOLVING);\n const inner = mapInner(s);\n const mapped = fn(inner, inner !== s);\n cache.set(s, mapped);\n return mapped;\n }\n function mapInner(s) {\n const def = s._zod.def;\n const kind = def.type;\n switch (kind) {\n case \"object\": {\n const oldShape = def.shape;\n const keys = Object.keys(oldShape);\n let changed = false;\n const newShape = {};\n for (const k of keys) {\n const mapped = run(oldShape[k]);\n if (mapped !== oldShape[k])\n changed = true;\n newShape[k] = mapped;\n }\n let newCatchall = def.catchall;\n if (def.catchall) {\n newCatchall = run(def.catchall);\n if (newCatchall !== def.catchall)\n changed = true;\n }\n return changed ? clone(s, { ...def, shape: newShape, catchall: newCatchall }) : s;\n }\n case \"array\": {\n const mapped = run(def.element);\n return mapped === def.element ? s : clone(s, { ...def, element: mapped });\n }\n case \"tuple\": {\n const oldItems = def.items;\n let changed = false;\n const newItems = [];\n for (const item of oldItems) {\n const mapped = run(item);\n if (mapped !== item)\n changed = true;\n newItems.push(mapped);\n }\n let newRest = def.rest;\n if (def.rest) {\n newRest = run(def.rest);\n if (newRest !== def.rest)\n changed = true;\n }\n return changed ? clone(s, { ...def, items: newItems, rest: newRest }) : s;\n }\n case \"record\":\n case \"map\": {\n const newKey = run(def.keyType);\n const newVal = run(def.valueType);\n return newKey === def.keyType && newVal === def.valueType\n ? s\n : clone(s, { ...def, keyType: newKey, valueType: newVal });\n }\n case \"set\": {\n const newVal = run(def.valueType);\n return newVal === def.valueType ? s : clone(s, { ...def, valueType: newVal });\n }\n case \"union\": {\n const oldOptions = def.options;\n let changed = false;\n const newOptions = [];\n for (const opt of oldOptions) {\n const mapped = run(opt);\n if (mapped !== opt)\n changed = true;\n newOptions.push(mapped);\n }\n return changed ? clone(s, { ...def, options: newOptions }) : s;\n }\n case \"intersection\": {\n const newLeft = run(def.left);\n const newRight = run(def.right);\n return newLeft === def.left && newRight === def.right\n ? s\n : clone(s, { ...def, left: newLeft, right: newRight });\n }\n case \"optional\":\n case \"nullable\":\n case \"default\":\n case \"prefault\":\n case \"catch\":\n case \"readonly\":\n case \"nonoptional\":\n case \"promise\":\n case \"success\": {\n const newInner = run(def.innerType);\n return newInner === def.innerType ? s : clone(s, { ...def, innerType: newInner });\n }\n case \"pipe\": {\n const newIn = run(def.in);\n const newOut = run(def.out);\n return newIn === def.in && newOut === def.out ? s : clone(s, { ...def, in: newIn, out: newOut });\n }\n case \"function\": {\n const newInput = run(def.input);\n const newOutput = run(def.output);\n return newInput === def.input && newOutput === def.output\n ? s\n : clone(s, { ...def, input: newInput, output: newOutput });\n }\n case \"lazy\": {\n // Invoking the getter here would trip the cycle check, so lazy nodes always re-clone.\n const original = def.getter;\n // Drop the memo, or it shadows the new getter forever.\n const { _cachedInner, ...rest } = def;\n return clone(s, { ...rest, getter: () => run(original()) });\n }\n // A leaf by choice: `parts` are regex fragments, not data positions.\n case \"template_literal\":\n // Leaves.\n case \"string\":\n case \"number\":\n case \"int\":\n case \"boolean\":\n case \"bigint\":\n case \"symbol\":\n case \"undefined\":\n case \"null\":\n case \"void\":\n case \"never\":\n case \"any\":\n case \"unknown\":\n case \"date\":\n case \"nan\":\n case \"enum\":\n case \"literal\":\n case \"file\":\n case \"transform\":\n case \"custom\":\n return s;\n default: {\n // A new built-in kind becomes a compile error here; unknown user kinds fall through.\n kind;\n return s;\n }\n }\n }\n return run(schema);\n}\n", "import { visit } from \"../core/visit.js\";\nimport * as schemas from \"./schemas.js\";\n/** Returns a copy of the schema with every nested object's properties made optional. */\nexport function deepPartial(schema) {\n return visit(schema, {\n object: (s) => s.partial(),\n // Every partialed option now admits `undefined`, which the constructor rejects as a duplicate.\n union: (s) => {\n const def = s._zod.def;\n return def.discriminator === undefined ? s : schemas.union(def.options);\n },\n });\n}\n", "import { clone, mergeDefs } from \"../core/util.js\";\nimport { visit } from \"../core/visit.js\";\nimport * as schemas from \"./schemas.js\";\n/** Appends a pipe's own checks to the side that replaces it, mirroring how `.check()` clones. */\nfunction withChecks(side, checks) {\n if (!checks?.length)\n return side;\n const def = side._zod.def;\n return clone(side, mergeDefs(def, { checks: [...(def.checks ?? []), ...checks] }), { parent: true });\n}\n/** The out side, carrying the pipe's own checks: those run against the decoded value, which is what `out` produces. */\nfunction outSide(def) {\n return withChecks(def.out, def.checks);\n}\n/** The in side. `z.preprocess` pipes a transform into a schema, and a bare transform validates nothing, so the schema it feeds is the real input side \u2014 the resolution `toJSONSchema` already makes for this case. */\nfunction inSide(def) {\n return def.in._zod.traits.has(\"$ZodTransform\") ? outSide(def) : def.in;\n}\n/** Returns a copy of the schema with every pipe replaced by its input side. A codec's checks are dropped: they constrain the decoded value the input side never produces. */\nexport function input(schema) {\n return visit(schema, {\n pipe: (s) => inSide(s._zod.def),\n // A default value belongs to the output side, so a rewritten inner type leaves it stranded. `.default()` widens the declared input type with `undefined`, and `optional` is what carries that across.\n default: (s, rewritten) => (rewritten ? schemas.optional(s._zod.def.innerType) : s),\n // A catch value is output-side too, but `.catch()` leaves the declared input type alone, so the inner schema stands on its own.\n catch: (s, rewritten) => (rewritten ? s._zod.def.innerType : s),\n });\n}\n/** Returns a copy of the schema with every pipe replaced by its output side, carrying over the pipe's own checks. */\nexport function output(schema) {\n return visit(schema, {\n pipe: (s) => outSide(s._zod.def),\n // A prefault value is fed through the schema, which makes it input-side, so a rewritten inner type leaves it stranded.\n prefault: (s, rewritten) => (rewritten ? s._zod.def.innerType : s),\n });\n}\n", "import * as core from \"../core/index.js\";\nimport * as schemas from \"./schemas.js\";\nexport function string(params) {\n return core._coercedString(schemas.ZodString, params);\n}\nexport function number(params) {\n return core._coercedNumber(schemas.ZodNumber, params);\n}\nexport function boolean(params) {\n return core._coercedBoolean(schemas.ZodBoolean, params);\n}\nexport function bigint(params) {\n return core._coercedBigint(schemas.ZodBigInt, params);\n}\nexport function date(params) {\n return core._coercedDate(schemas.ZodDate, params);\n}\n", "import { z } from \"zod\";\n\n/** Numeric GitHub identifier. Logins and names are mutable; ids are authoritative. */\nexport const githubNumericIdSchema = z.string().regex(/^[1-9][0-9]{0,31}$/, \"expected a numeric GitHub id\");\n", "import { z } from \"zod\";\nimport { githubNumericIdSchema } from \"./identity\";\n\nconst name = z.string().trim().min(1).max(255).regex(/^[A-Za-z0-9_.-]+$/);\n\n/**\n * Repository identity embedded in an exact operation. The numeric id is\n * authoritative; owner and name are display hints re-bound at apply time.\n */\nexport const operationRepositoryRefSchema = z.object({\n provider: z.literal(\"github\"),\n id: githubNumericIdSchema,\n owner: name,\n name,\n defaultBranch: z.string().trim().min(1).max(255),\n}).strict();\nexport type OperationRepositoryRef = z.infer<typeof operationRepositoryRefSchema>;\n", "import { z } from \"zod\";\nimport { githubNumericIdSchema } from \"./identity\";\nimport { operationRepositoryRefSchema } from \"./repository\";\n\nexport const operationKindValues = [\n \"issue.label.add\", \"issue.label.remove\", \"issue.comment.create\", \"issue.comment.update\", \"issue.close\", \"issue.reopen\", \"issue.assignee.add\", \"issue.assignee.remove\", \"issue.create\",\n \"pull_request.comment.create\", \"pull_request.comment.update\", \"pull_request.review.submit\", \"pull_request.reviewer.request\", \"pull_request.reviewer.remove\", \"pull_request.update\",\n \"pull_request.label.add\", \"pull_request.label.remove\", \"pull_request.update_branch\",\n \"branch.create\", \"commit.create\", \"pull_request.open\", \"pull_request.open_draft\", \"pull_request.merge\",\n \"discussion.comment.create\", \"discussion.comment.update\", \"discussion.answer.mark\", \"discussion.answer.unmark\", \"discussion.close\", \"discussion.reopen\",\n \"check.rerun\",\n \"release.create\", \"release.update\", \"release.publish\", \"release.delete\",\n] as const;\nexport const operationKindSchema = z.enum(operationKindValues);\nexport type OperationKind = z.infer<typeof operationKindSchema>;\nexport const operationFamilySchema = z.enum([\"issue\", \"pull_request\", \"git\", \"discussion\", \"check\", \"release\"]);\nexport const operationCatalogEntrySchema = z.object({ kind: operationKindSchema, family: operationFamilySchema, persistent: z.literal(true), highImpact: z.boolean() }).strict();\nexport type OperationCatalogEntry = z.infer<typeof operationCatalogEntrySchema>;\nexport const operationCatalog: readonly OperationCatalogEntry[] = Object.freeze(operationKindValues.map((kind) => operationCatalogEntrySchema.parse({\n kind,\n family: kind.startsWith(\"issue.\") ? \"issue\" : kind.startsWith(\"pull_request.\") ? \"pull_request\" : kind === \"branch.create\" || kind === \"commit.create\" ? \"git\" : kind.startsWith(\"discussion.\") ? \"discussion\" : kind.startsWith(\"check.\") ? \"check\" : \"release\",\n persistent: true,\n highImpact: kind === \"pull_request.merge\" || kind === \"release.publish\" || kind === \"release.delete\",\n})));\n\nexport const shaSchema = z.string().regex(/^[a-fA-F0-9]{40}$/);\nexport function isValidGitBranchName(value: string): boolean {\n const components = value.split(\"/\");\n return value !== \"@\" && !value.startsWith(\"/\") && !value.endsWith(\"/\") && !value.endsWith(\".\") &&\n !value.includes(\"..\") && !value.includes(\"//\") && !value.includes(\"@{\") && !/[~^:?*[\\\\\\x00-\\x20\\x7f]/.test(value) &&\n components.every((component) => component.length > 0 && !component.startsWith(\".\") && !component.endsWith(\".\") && !component.endsWith(\".lock\"));\n}\nexport const branchNameSchema = z.string().trim().min(1).max(255).refine(isValidGitBranchName, \"invalid Git branch name\");\n\nconst operationIdSchema = z.string().regex(/^[A-Za-z0-9:_-]{1,255}$/);\n/**\n * Largest commit a single operation may write.\n *\n * One blob POST per added or modified path, executed sequentially, so this is\n * a bound on the work a single step can take rather than on any provider\n * limit. `taskCaptureManifestV1Schema` carries the same bound, which is what\n * makes a verified capture always materializable: an oversized change set is\n * refused when the capture is admitted \u2014 before a plan exists, and therefore\n * long before the first write \u2014 instead of failing partway through apply.\n */\nexport const COMMIT_FILE_LIMIT = 1_000;\n\nconst commitFilePathSchema = z.string().min(1).max(1_024).refine(\n (path) => !path.startsWith(\"/\") && !path.endsWith(\"/\") && !path.includes(\"\\\\\")\n && path.split(\"/\").every((component) => component.length > 0 && component !== \".\" && component !== \"..\"),\n \"invalid repository path\",\n);\n\n/**\n * A commit file whose bytes stay in the verified capture artifact.\n *\n * Gardener's planning job runs unprivileged with a checkout; the apply job is\n * privileged and has no checkout. Content therefore cannot travel with the\n * operation: it would have to pass through the model's reach, and the plan\n * itself is stored and forwarded in places a 100 MiB file cannot go. Instead\n * the operation carries only the metadata the capture artifact already proved\n * \u2014 path, status, mode, size, and content digest \u2014 and apply streams each\n * blob out of the artifact one at a time after verifying it.\n *\n * That metadata is exactly what canonical operation identity needs: the\n * digests pin the content as tightly as the bytes would, so the operation hash\n * (and the commit trailer derived from it) stays a function of what is written\n * without ever holding what is written.\n */\nconst commitFileSchema = z.object({\n path: commitFilePathSchema,\n captured: z.discriminatedUnion(\"status\", [\n z.object({\n status: z.enum([\"added\", \"modified\"]),\n mode: z.enum([\"100644\", \"100755\", \"120000\"]),\n /** Bounded by GitHub's per-blob maximum, so an inapplicable capture is refused before apply. */\n sizeBytes: z.number().int().nonnegative().max(100 * 1_024 * 1_024),\n sha256: z.string().regex(/^[a-f0-9]{64}$/),\n }).strict(),\n z.object({ status: z.literal(\"deleted\") }).strict(),\n ]),\n}).strict();\n\nconst operationBase = z.object({ schemaVersion: z.literal(\"v2\"), id: operationIdSchema, repository: operationRepositoryRefSchema });\nconst expectedTimestamp = z.iso.datetime();\nconst body = z.string().min(1).max(65_536);\nconst issueBase = operationBase.extend({ issueNumber: z.number().int().positive(), expectedIssueState: z.enum([\"open\", \"closed\"]), expectedIssueUpdatedAt: expectedTimestamp });\nconst pullBase = operationBase.extend({\n pullNumber: z.number().int().positive(), expectedHeadSha: shaSchema, expectedBaseRef: branchNameSchema,\n expectedBaseSha: shaSchema, expectedState: z.enum([\"open\", \"closed\"]), expectedDraft: z.boolean(), expectedPullUpdatedAt: expectedTimestamp,\n});\nconst discussionBase = operationBase.extend({ discussionNumber: z.number().int().positive(), expectedDiscussionState: z.enum([\"open\", \"closed\"]), expectedDiscussionUpdatedAt: expectedTimestamp });\nconst commentUpdate = { commentId: githubNumericIdSchema, expectedCommentUpdatedAt: expectedTimestamp, body } as const;\nconst labelName = z.string().trim().min(1).max(100);\nconst requiredCheckSchema = z.object({ context: z.string().trim().min(1).max(255), appId: z.number().int().positive() }).strict();\n\nconst operationOptions = [\n issueBase.extend({ kind: z.literal(\"issue.label.add\"), label: labelName }).strict(),\n issueBase.extend({ kind: z.literal(\"issue.label.remove\"), label: labelName }).strict(),\n issueBase.extend({ kind: z.literal(\"issue.comment.create\"), body }).strict(),\n issueBase.extend({ kind: z.literal(\"issue.comment.update\"), ...commentUpdate }).strict(),\n issueBase.extend({ kind: z.literal(\"issue.close\"), expectedIssueState: z.literal(\"open\") }).strict(),\n issueBase.extend({ kind: z.literal(\"issue.reopen\"), expectedIssueState: z.literal(\"closed\") }).strict(),\n issueBase.extend({ kind: z.literal(\"issue.assignee.add\"), assigneeId: githubNumericIdSchema }).strict(),\n issueBase.extend({ kind: z.literal(\"issue.assignee.remove\"), assigneeId: githubNumericIdSchema }).strict(),\n /**\n * A new issue. There is no resource to check a version against; resume finds\n * the issue by the operation marker apply appends to the body. Labels must\n * already exist and assignees must be assignable, so creating an issue never\n * invents repository taxonomy or silently drops a person.\n */\n operationBase.extend({\n kind: z.literal(\"issue.create\"),\n title: z.string().trim().min(1).max(256),\n body,\n labels: z.array(labelName).min(1).max(10).optional(),\n assigneeIds: z.array(githubNumericIdSchema).min(1).max(10).optional(),\n }).strict(),\n\n pullBase.extend({ kind: z.literal(\"pull_request.comment.create\"), body }).strict(),\n pullBase.extend({ kind: z.literal(\"pull_request.comment.update\"), ...commentUpdate }).strict(),\n pullBase.extend({\n kind: z.literal(\"pull_request.review.submit\"), expectedState: z.literal(\"open\"), event: z.enum([\"comment\", \"approve\", \"request_changes\"]),\n body: z.string().max(65_536), comments: z.array(z.object({ path: z.string().min(1).max(1_024), line: z.number().int().positive(), side: z.enum([\"LEFT\", \"RIGHT\"]), body }).strict()).max(100),\n }).strict().superRefine((value, context) => {\n if (value.event !== \"approve\" && !value.body.trim() && value.comments.length === 0) context.addIssue({ code: \"custom\", path: [\"body\"], message: \"comment and request-changes reviews require content\" });\n }),\n pullBase.extend({ kind: z.literal(\"pull_request.reviewer.request\"), reviewerIds: z.array(githubNumericIdSchema).min(1).max(15) }).strict(),\n pullBase.extend({ kind: z.literal(\"pull_request.reviewer.remove\"), reviewerIds: z.array(githubNumericIdSchema).min(1).max(15) }).strict(),\n pullBase.extend({ kind: z.literal(\"pull_request.update\"), title: z.string().trim().min(1).max(256).optional(), body: z.string().max(65_536).optional(), draft: z.boolean().optional(), state: z.enum([\"open\", \"closed\"]).optional() }).strict().superRefine((value, context) => {\n if (value.title === undefined && value.body === undefined && value.draft === undefined && value.state === undefined) context.addIssue({ code: \"custom\", message: \"pull request update requires at least one change\" });\n if (value.draft !== undefined && (value.title !== undefined || value.body !== undefined || value.state !== undefined)) {\n context.addIssue({ code: \"custom\", message: \"draft state must be updated in a separate exact operation\" });\n }\n }),\n pullBase.extend({ kind: z.literal(\"pull_request.label.add\"), label: labelName }).strict(),\n pullBase.extend({ kind: z.literal(\"pull_request.label.remove\"), label: labelName }).strict(),\n // GitHub rebases or merges the base in itself, leased on expectedHeadSha.\n pullBase.extend({ kind: z.literal(\"pull_request.update_branch\"), method: z.enum([\"merge\", \"rebase\"]) }).strict(),\n operationBase.extend({ kind: z.literal(\"branch.create\"), branch: branchNameSchema, fromSha: shaSchema, expectedAbsent: z.literal(true) }).strict(),\n operationBase.extend({\n kind: z.literal(\"commit.create\"), branch: branchNameSchema, expectedHeadSha: shaSchema, message: z.string().trim().min(1).max(1_000),\n files: z.array(commitFileSchema).min(1).max(COMMIT_FILE_LIMIT),\n }).strict().superRefine((value, context) => {\n const paths = new Set<string>();\n value.files.forEach((file, index) => {\n if (paths.has(file.path)) context.addIssue({ code: \"custom\", path: [\"files\", index, \"path\"], message: \"commit file paths must be unique\" });\n paths.add(file.path);\n });\n }),\n operationBase.extend({\n kind: z.literal(\"pull_request.open\"), head: branchNameSchema, base: branchNameSchema, expectedHeadSha: shaSchema, expectedBaseSha: shaSchema,\n title: z.string().trim().min(1).max(256), body: z.string().max(65_536),\n }).strict(),\n operationBase.extend({\n kind: z.literal(\"pull_request.open_draft\"), head: branchNameSchema, base: branchNameSchema, expectedHeadSha: shaSchema, expectedBaseSha: shaSchema,\n title: z.string().trim().min(1).max(256), body: z.string().max(65_536), draft: z.literal(true),\n }).strict(),\n pullBase.extend({\n kind: z.literal(\"pull_request.merge\"), expectedState: z.literal(\"open\"), expectedDraft: z.literal(false), method: z.enum([\"merge\", \"squash\", \"rebase\"]),\n /**\n * The real gate. Merging with zero verified checks is not something this\n * contract can express, in any target.\n */\n requiredChecks: z.array(requiredCheckSchema).min(1).max(100),\n /**\n * Digest of the branch-protection configuration observed when the merge was\n * proposed. Optional because the Actions target cannot read branch\n * protection with a repository `GITHUB_TOKEN` and must not fabricate a\n * digest it never computed; GitHub itself remains the authoritative\n * enforcement point there. Installation-backed boundaries that *can* read\n * protection still require it \u2014 see `evaluateOperationPolicy`, which denies\n * a merge whose expected digest is absent.\n */\n expectedBranchProtectionHash: z.string().regex(/^[a-f0-9]{64}$/).optional(),\n }).strict(),\n\n discussionBase.extend({ kind: z.literal(\"discussion.comment.create\"), body }).strict(),\n discussionBase.extend({ kind: z.literal(\"discussion.comment.update\"), ...commentUpdate }).strict(),\n discussionBase.extend({ kind: z.literal(\"discussion.answer.mark\"), answerCommentId: githubNumericIdSchema, expectedAnswerCommentId: githubNumericIdSchema.nullable() }).strict(),\n discussionBase.extend({ kind: z.literal(\"discussion.answer.unmark\"), expectedAnswerCommentId: githubNumericIdSchema }).strict(),\n discussionBase.extend({ kind: z.literal(\"discussion.close\"), expectedDiscussionState: z.literal(\"open\") }).strict(),\n discussionBase.extend({ kind: z.literal(\"discussion.reopen\"), expectedDiscussionState: z.literal(\"closed\") }).strict(),\n\n operationBase.extend({ kind: z.literal(\"check.rerun\"), checkRunId: githubNumericIdSchema, expectedHeadSha: shaSchema, expectedStatus: z.literal(\"completed\"), expectedConclusion: z.string().trim().min(1).max(100).nullable() }).strict(),\n\n operationBase.extend({\n kind: z.literal(\"release.create\"), tagName: z.string().trim().min(1).max(255), targetCommitSha: shaSchema, expectedTagAbsent: z.literal(true),\n name: z.string().trim().min(1).max(255), body: z.string().max(65_536), draft: z.literal(true), prerelease: z.boolean(),\n }).strict(),\n operationBase.extend({\n kind: z.literal(\"release.update\"), releaseId: githubNumericIdSchema, expectedTagName: z.string().min(1).max(255), expectedTargetCommitSha: shaSchema, expectedDraft: z.boolean(), expectedPrerelease: z.boolean(), expectedReleaseUpdatedAt: expectedTimestamp,\n name: z.string().trim().min(1).max(255).optional(), body: z.string().max(65_536).optional(), prerelease: z.boolean().optional(),\n }).strict().superRefine((value, context) => { if (value.name === undefined && value.body === undefined && value.prerelease === undefined) context.addIssue({ code: \"custom\", message: \"release update requires at least one change\" }); }),\n operationBase.extend({ kind: z.literal(\"release.publish\"), releaseId: githubNumericIdSchema, expectedTagName: z.string().min(1).max(255), expectedTargetCommitSha: shaSchema, expectedDraft: z.literal(true), expectedPrerelease: z.boolean(), expectedPublished: z.literal(false), expectedReleaseUpdatedAt: expectedTimestamp }).strict(),\n operationBase.extend({ kind: z.literal(\"release.delete\"), releaseId: githubNumericIdSchema, expectedTagName: z.string().min(1).max(255), expectedTargetCommitSha: shaSchema, expectedDraft: z.boolean(), expectedPublished: z.boolean(), expectedReleaseUpdatedAt: expectedTimestamp }).strict(),\n] as const;\n\nconst reservedMarker = /(?:<!--\\s*gardener-operation:|gardener-operation:|gardener-idempotency:)/i;\nfunction collectStrings(value: unknown, output: string[]): void {\n if (typeof value === \"string\") output.push(value);\n else if (Array.isArray(value)) value.forEach((item) => collectStrings(item, output));\n else if (value && typeof value === \"object\") Object.values(value).forEach((item) => collectStrings(item, output));\n}\n\nexport const operationSchema = z.discriminatedUnion(\"kind\", operationOptions).superRefine((operation, context) => {\n const strings: string[] = [];\n if (\n operation.kind === \"issue.comment.create\" ||\n operation.kind === \"issue.create\" ||\n operation.kind === \"pull_request.review.submit\" ||\n operation.kind === \"pull_request.open\" ||\n operation.kind === \"pull_request.open_draft\"\n ) {\n const marker = `<!-- gardener-operation:${operation.id} -->`;\n const bodyWithoutExactMarker = operation.body === marker\n ? \"\"\n : operation.body.endsWith(`\\n${marker}`)\n ? operation.body.slice(0, -(marker.length + 1))\n : operation.body;\n collectStrings({ ...operation, body: bodyWithoutExactMarker }, strings);\n } else {\n collectStrings(operation, strings);\n }\n if (strings.some((value) => reservedMarker.test(value))) context.addIssue({ code: \"custom\", message: \"operation contains a reserved idempotency marker\" });\n if ((operation.kind === \"pull_request.reviewer.request\" || operation.kind === \"pull_request.reviewer.remove\") && new Set(operation.reviewerIds).size !== operation.reviewerIds.length) context.addIssue({ code: \"custom\", path: [\"reviewerIds\"], message: \"reviewer IDs must be unique\" });\n if (operation.kind === \"issue.create\") {\n // GitHub label names are case-insensitive.\n if (operation.labels && new Set(operation.labels.map((label) => label.toLowerCase())).size !== operation.labels.length) context.addIssue({ code: \"custom\", path: [\"labels\"], message: \"labels must be unique\" });\n if (operation.assigneeIds && new Set(operation.assigneeIds).size !== operation.assigneeIds.length) context.addIssue({ code: \"custom\", path: [\"assigneeIds\"], message: \"assignee IDs must be unique\" });\n }\n if (operation.kind === \"pull_request.merge\") {\n const checks = operation.requiredChecks.map((check) => `${check.appId}:${check.context}`);\n if (new Set(checks).size !== checks.length) context.addIssue({ code: \"custom\", path: [\"requiredChecks\"], message: \"required checks must be unique\" });\n }\n});\nexport type Operation = z.infer<typeof operationSchema>;\n\n/**\n * Compact JSON Schema for the model-authored payload of one exact operation.\n *\n * The provider tool remains flat (`kind` plus a JSON string), avoiding the\n * many-armed `oneOf` that Workers AI models fail to call reliably. The trusted\n * prompt can still state the exact field names and types for only the kinds a\n * task declared. Plan-owned identity/repository fields are removed, as are\n * capture-owned commit files.\n */\nexport function operationProposalPayloadJsonSchema(kind: OperationKind): string {\n const full = z.toJSONSchema(operationSchema, { unrepresentable: \"any\" }) as Record<string, unknown>;\n const options = full.oneOf;\n if (!Array.isArray(options)) throw new Error(\"Operation schema did not produce exact variants\");\n const option = options.find((candidate) => {\n if (!candidate || typeof candidate !== \"object\" || Array.isArray(candidate)) return false;\n const properties = (candidate as Record<string, unknown>).properties;\n if (!properties || typeof properties !== \"object\" || Array.isArray(properties)) return false;\n const discriminator = (properties as Record<string, unknown>).kind;\n return discriminator !== null && typeof discriminator === \"object\"\n && !Array.isArray(discriminator) && (discriminator as Record<string, unknown>).const === kind;\n });\n if (!option || typeof option !== \"object\" || Array.isArray(option)) {\n throw new Error(`Operation schema has no variant for ${kind}`);\n }\n const source = structuredClone(option) as Record<string, unknown>;\n const properties = source.properties as Record<string, unknown>;\n for (const field of [\"schemaVersion\", \"id\", \"repository\", \"kind\", ...(kind === \"commit.create\" ? [\"files\"] : [])]) {\n delete properties[field];\n }\n const omitted = new Set([\"schemaVersion\", \"id\", \"repository\", \"kind\", ...(kind === \"commit.create\" ? [\"files\"] : [])]);\n source.required = Array.isArray(source.required)\n ? source.required.filter((field): field is string => typeof field === \"string\" && !omitted.has(field))\n : [];\n const retain = new Set([\"type\", \"const\", \"enum\", \"format\", \"properties\", \"required\", \"items\", \"oneOf\", \"anyOf\", \"additionalProperties\"]);\n const compact = (value: unknown): unknown => {\n if (Array.isArray(value)) return value.map(compact);\n if (value === null || typeof value !== \"object\") return value;\n const record = value as Record<string, unknown>;\n const output: Record<string, unknown> = {};\n for (const [key, entry] of Object.entries(record)) {\n if (!retain.has(key)) continue;\n // `properties` is a field-name map, not a schema object. Preserve its\n // arbitrary keys and compact each field schema below them; filtering the\n // map itself against `retain` would erase every payload field.\n output[key] = key === \"properties\" && entry !== null && typeof entry === \"object\" && !Array.isArray(entry)\n ? Object.fromEntries(Object.entries(entry as Record<string, unknown>).map(([field, schema]) => [field, compact(schema)]))\n : compact(entry);\n }\n return output;\n };\n return JSON.stringify(compact(source));\n}\n\nexport const operationReceiptSchema = z.object({\n schemaVersion: z.literal(\"v2\"), operationId: operationIdSchema, operationHash: z.string().regex(/^[a-f0-9]{64}$/), kind: operationKindSchema,\n status: z.enum([\"succeeded\", \"failed\", \"skipped\", \"conflicted\"]), attempt: z.number().int().positive(), attemptedAt: z.iso.datetime(), completedAt: z.iso.datetime(),\n providerRequestId: z.string().min(1).max(255).optional(), resourceUrl: z.url().optional(),\n error: z.object({ code: z.string().min(1).max(100), message: z.string().min(1).max(2_000), retryable: z.boolean() }).strict().optional(),\n}).strict().superRefine((receipt, context) => {\n if (Date.parse(receipt.completedAt) < Date.parse(receipt.attemptedAt)) context.addIssue({ code: \"custom\", path: [\"completedAt\"], message: \"operation cannot complete before it was attempted\" });\n if ((receipt.status === \"failed\" || receipt.status === \"conflicted\") && !receipt.error) context.addIssue({ code: \"custom\", path: [\"error\"], message: \"failed and conflicted receipts require an error\" });\n if ((receipt.status === \"succeeded\" || receipt.status === \"skipped\") && receipt.error) context.addIssue({ code: \"custom\", path: [\"error\"], message: \"successful receipts cannot contain an error\" });\n});\nexport type OperationReceipt = z.infer<typeof operationReceiptSchema>;\n\n/* -------------------------------------------------------------------------- */\n/* Scalar operation outputs */\n/* -------------------------------------------------------------------------- */\n\n/**\n * Value shapes a later step may consume. The type drives the typed sentinel\n * used to probe-validate a payload before the real value exists, so it has to\n * describe the value precisely enough to satisfy the consuming validator.\n */\nexport const operationOutputTypeValues = [\n \"string\",\n \"resourceNumber\",\n \"boolean\",\n \"commitSha\",\n \"githubId\",\n \"nullableGithubId\",\n \"branch\",\n \"gitRef\",\n \"url\",\n \"nodeId\",\n \"openClosedState\",\n] as const;\nexport type OperationOutputType = typeof operationOutputTypeValues[number];\n\nconst issueOutputs = { issueNumber: \"resourceNumber\" } as const;\nconst pullOutputs = { pullNumber: \"resourceNumber\" } as const;\nconst discussionOutputs = { discussionNumber: \"resourceNumber\" } as const;\nconst commentOutputs = { commentId: \"githubId\", commentUrl: \"url\" } as const;\nconst releaseOutputs = {\n releaseId: \"githubId\",\n tagName: \"string\",\n releaseUrl: \"url\",\n draft: \"boolean\",\n prerelease: \"boolean\",\n} as const;\n\n/**\n * Scalar outputs each operation kind publishes for later steps to reference.\n *\n * Deliberately scalar-only. The executor also returns collections such as the\n * resulting label or reviewer sets, but a plan cannot splice a list into a\n * typed operation field, so exposing them would create references that can\n * never validate. `kind` is excluded too: it is the discriminator, not a\n * produced value.\n */\nexport const operationOutputCatalog = {\n \"issue.label.add\": { ...issueOutputs, label: \"string\" },\n \"issue.label.remove\": { ...issueOutputs, label: \"string\" },\n \"issue.comment.create\": { ...issueOutputs, ...commentOutputs },\n \"issue.comment.update\": { ...issueOutputs, ...commentOutputs },\n \"issue.close\": { ...issueOutputs, state: \"openClosedState\", issueUrl: \"url\" },\n \"issue.reopen\": { ...issueOutputs, state: \"openClosedState\", issueUrl: \"url\" },\n \"issue.assignee.add\": { ...issueOutputs, assigneeId: \"githubId\", assigneeLogin: \"string\" },\n \"issue.assignee.remove\": { ...issueOutputs, assigneeId: \"githubId\", assigneeLogin: \"string\" },\n \"issue.create\": { ...issueOutputs, issueUrl: \"url\" },\n \"pull_request.comment.create\": { ...pullOutputs, ...commentOutputs },\n \"pull_request.comment.update\": { ...pullOutputs, ...commentOutputs },\n \"pull_request.review.submit\": { ...pullOutputs, reviewId: \"githubId\", reviewUrl: \"url\", reviewState: \"string\" },\n \"pull_request.reviewer.request\": { ...pullOutputs },\n \"pull_request.reviewer.remove\": { ...pullOutputs },\n \"pull_request.update\": { ...pullOutputs, pullUrl: \"url\", title: \"string\", state: \"openClosedState\", draft: \"boolean\" },\n \"pull_request.label.add\": { ...pullOutputs, label: \"string\" },\n \"pull_request.label.remove\": { ...pullOutputs, label: \"string\" },\n // No head output: GitHub finishes the update after the mutation returns.\n \"pull_request.update_branch\": pullOutputs,\n \"branch.create\": { branch: \"branch\", ref: \"gitRef\", commitSha: \"commitSha\", branchUrl: \"url\" },\n \"commit.create\": {\n branch: \"branch\",\n commitSha: \"commitSha\",\n treeSha: \"commitSha\",\n parentSha: \"commitSha\",\n commitUrl: \"url\",\n },\n \"pull_request.open\": {\n ...pullOutputs,\n pullUrl: \"url\",\n pullNodeId: \"nodeId\",\n headRef: \"branch\",\n headSha: \"commitSha\",\n baseRef: \"string\",\n },\n \"pull_request.open_draft\": {\n ...pullOutputs,\n pullUrl: \"url\",\n pullNodeId: \"nodeId\",\n headRef: \"branch\",\n headSha: \"commitSha\",\n baseRef: \"string\",\n },\n \"pull_request.merge\": { ...pullOutputs, mergeCommitSha: \"commitSha\", pullUrl: \"url\" },\n \"discussion.comment.create\": { ...discussionOutputs, ...commentOutputs, commentNodeId: \"nodeId\" },\n \"discussion.comment.update\": { ...discussionOutputs, ...commentOutputs, commentNodeId: \"nodeId\" },\n \"discussion.answer.mark\": { ...discussionOutputs, answerCommentId: \"nullableGithubId\" },\n \"discussion.answer.unmark\": { ...discussionOutputs, answerCommentId: \"nullableGithubId\" },\n \"discussion.close\": { ...discussionOutputs, state: \"openClosedState\", discussionUrl: \"url\" },\n \"discussion.reopen\": { ...discussionOutputs, state: \"openClosedState\", discussionUrl: \"url\" },\n \"check.rerun\": { checkRunId: \"githubId\", headSha: \"commitSha\", status: \"string\" },\n \"release.create\": { ...releaseOutputs },\n \"release.update\": { ...releaseOutputs },\n \"release.publish\": { ...releaseOutputs },\n \"release.delete\": { releaseId: \"githubId\", tagName: \"string\" },\n} as const satisfies Record<OperationKind, Readonly<Record<string, OperationOutputType>>>;\n\nexport type OperationOutputCatalog = typeof operationOutputCatalog;\n\n/** Name of a scalar output a given kind publishes, or `undefined` if it has none such. */\nexport function operationOutputType(kind: OperationKind, output: string): OperationOutputType | undefined {\n const outputs: Readonly<Record<string, OperationOutputType>> = operationOutputCatalog[kind];\n return Object.hasOwn(outputs, output) ? outputs[output] : undefined;\n}\n\n/** Sorted scalar output names a kind publishes. */\nexport function operationOutputNames(kind: OperationKind): readonly string[] {\n return Object.keys(operationOutputCatalog[kind]).sort();\n}\n\nconst outputSentinels = {\n string: \"gardener-step-output\",\n resourceNumber: 1,\n boolean: true,\n commitSha: \"0\".repeat(40),\n githubId: \"1\",\n nullableGithubId: \"1\",\n branch: \"gardener/step-output\",\n gitRef: \"refs/heads/gardener/step-output\",\n url: \"https://github.com/gardener/step-output\",\n nodeId: \"GardenerStepOutput\",\n openClosedState: \"open\",\n} as const satisfies Record<OperationOutputType, string | number | boolean>;\n\nconst outputRenderedMaxLengths = {\n // The longest string-typed source is a 256-character pull request title.\n string: 256,\n resourceNumber: 16,\n boolean: 5,\n commitSha: 40,\n githubId: 20,\n nullableGithubId: 20,\n branch: 255,\n gitRef: 266,\n url: 1_024,\n nodeId: 256,\n openClosedState: 6,\n} as const satisfies Record<OperationOutputType, number>;\n\n/**\n * Longest text an output of this type may render as inside a placeholder.\n * Planning validates a templated field with every placeholder at this length,\n * and apply refuses a longer value, so a field that passed planning cannot\n * exceed its own limit once the real values are in.\n */\nexport function operationOutputRenderedMaxLength(type: OperationOutputType): number {\n return outputRenderedMaxLengths[type];\n}\n\n/**\n * Stand-in value used while probe-validating a payload whose real value is only\n * produced at apply time. A sentinel is a best-effort convenience: probe\n * validation additionally discards issues reported at a referenced pointer, so\n * correctness never depends on a sentinel satisfying every possible validator.\n */\nexport function operationOutputSentinel(type: OperationOutputType): string | number | boolean {\n return outputSentinels[type];\n}\n", "import { z } from \"zod\";\nimport { isValidGitBranchName, type OperationKind } from \"./operations\";\n\n/**\n * Effect kinds that write to a named branch, and the payload field naming it.\n * Each may carry its own `branches:` option; without one it is confined to\n * `gardener/**`.\n */\nexport const branchWriteFields = {\n \"branch.create\": \"branch\",\n \"commit.create\": \"branch\",\n \"pull_request.open\": \"head\",\n \"pull_request.open_draft\": \"head\",\n} as const satisfies Partial<Record<OperationKind, string>>;\nexport type BranchWriteKind = keyof typeof branchWriteFields;\nexport const branchWriteKinds = Object.keys(branchWriteFields) as BranchWriteKind[];\n\nexport function isBranchWriteKind(kind: string): kind is BranchWriteKind {\n return Object.hasOwn(branchWriteFields, kind);\n}\n\n/** Where a task may write when its effect entry names no branches. */\nexport const DEFAULT_WRITE_BRANCHES: readonly string[] = Object.freeze([\"gardener/**\"]);\n\nconst MAX_BRANCH_PATTERNS = 20;\n\n/**\n * A branch name in which a segment may be `**` (one or more whole segments)\n * and other segments may use `*` (any characters within that segment).\n */\nexport function isValidBranchPattern(pattern: string): boolean {\n if (pattern.length === 0 || pattern.length > 255) return false;\n const segments = pattern.split(\"/\");\n if (segments.some((segment) => segment.includes(\"**\") && segment !== \"**\")) return false;\n // With wildcards replaced by an ordinary character, what remains must be a\n // valid branch name, so a pattern can only ever describe real branches.\n return isValidGitBranchName(segments.map((segment) => segment.replaceAll(\"*\", \"x\")).join(\"/\"));\n}\n\nexport const branchPatternSchema = z.string().trim().min(1).max(255)\n .refine(isValidBranchPattern, \"branch patterns are branch names whose segments may use * or be **\");\nexport const branchPatternsSchema = z.array(branchPatternSchema).min(1).max(MAX_BRANCH_PATTERNS)\n .refine((patterns) => new Set(patterns).size === patterns.length, \"branch patterns must be unique\");\n\n/** Whether one branch segment matches one pattern segment, where `*` matches any run of characters. */\nfunction segmentMatches(patternText: string, segmentText: string): boolean {\n // Dynamic programming rather than a regular expression, so a pattern with\n // many wildcards costs at most pattern length times segment length. Both\n // sides are compared by code point, so characters outside the BMP match.\n const pattern = [...patternText];\n const segment = [...segmentText];\n let previous = new Array<boolean>(segment.length + 1).fill(false);\n previous[0] = true;\n for (const character of pattern) {\n const current = new Array<boolean>(segment.length + 1).fill(false);\n if (character === \"*\") {\n let reachable = false;\n for (let index = 0; index <= segment.length; index++) {\n reachable ||= previous[index]!;\n current[index] = reachable;\n }\n } else {\n for (let index = 1; index <= segment.length; index++) {\n current[index] = previous[index - 1]! && segment[index - 1] === character;\n }\n }\n previous = current;\n }\n return previous[segment.length]!;\n}\n\n/**\n * Matches segment by segment: `**` consumes one or more whole segments. The\n * branch side is model-chosen, so this must stay polynomial for any input the\n * schemas admit; a compiled regular expression with several `**` backtracks.\n */\nexport function branchPatternMatches(pattern: string, branch: string): boolean {\n const patternSegments = pattern.split(\"/\");\n const branchSegments = branch.split(\"/\");\n // matched[j]: the pattern segments so far match the first j branch segments.\n let matched = new Array<boolean>(branchSegments.length + 1).fill(false);\n matched[0] = true;\n for (const patternSegment of patternSegments) {\n const next = new Array<boolean>(branchSegments.length + 1).fill(false);\n if (patternSegment === \"**\") {\n let reachable = false;\n for (let index = 1; index <= branchSegments.length; index++) {\n reachable ||= matched[index - 1]!;\n next[index] = reachable;\n }\n } else {\n for (let index = 1; index <= branchSegments.length; index++) {\n next[index] = matched[index - 1]! && segmentMatches(patternSegment, branchSegments[index - 1]!);\n }\n }\n matched = next;\n }\n return matched[branchSegments.length]!;\n}\n\n/**\n * Whether a task may write to `branch`. A wildcard never matches the default\n * branch: writing straight to it needs its exact name in the list.\n */\nexport function branchAllowed(branch: string, patterns: readonly string[], defaultBranch: string): boolean {\n if (!isValidGitBranchName(branch)) return false;\n if (branch === defaultBranch) return patterns.includes(branch);\n return patterns.some((pattern) => branchPatternMatches(pattern, branch));\n}\n\n/** Why `branch` is refused, or `undefined` when the patterns allow it. */\nexport function branchWriteRefusal(\n kind: BranchWriteKind,\n branch: string,\n patterns: readonly string[],\n defaultBranch: string,\n): string | undefined {\n if (branchAllowed(branch, patterns, defaultBranch)) return undefined;\n const field = branchWriteFields[kind];\n const allowed = patterns.join(\", \");\n return branch === defaultBranch\n ? `${kind} ${field} ${branch} is the default branch, which this task may write only if its branches list names it exactly (allowed: ${allowed})`\n : `${kind} ${field} ${branch} is outside this task's branches (allowed: ${allowed})`;\n}\n\ninterface CommitBaseStep {\n readonly stepName: string;\n readonly kind: string;\n readonly payload: Readonly<Record<string, unknown>>;\n readonly references: Readonly<Record<string, unknown>>;\n}\n\n/**\n * A commit is built from the captured working tree, so it must sit directly on\n * the captured commit: otherwise files the task never saw change would be\n * written over whatever the branch holds. `expectedHeadSha` must be that\n * commit, or come from a `branch.create` made from it. Returns why not, or\n * `undefined`. A reference this cannot follow is left to apply, which checks\n * the resolved value.\n */\nexport function commitBaseRefusal(\n commit: CommitBaseStep,\n earlier: readonly CommitBaseStep[],\n captureBaseSha: string,\n): string | undefined {\n const reference = commit.references[\"/expectedHeadSha\"];\n if (reference === undefined) {\n const expected = commit.payload.expectedHeadSha;\n return typeof expected === \"string\" && expected.toLowerCase() === captureBaseSha.toLowerCase()\n ? undefined\n : `commit.create must build on the captured commit ${captureBaseSha}: set expectedHeadSha to it, or to the commitSha of a branch.create made from it`;\n }\n const ref = reference as { step?: unknown; output?: unknown };\n if (typeof ref.step !== \"string\" || ref.output !== \"commitSha\") {\n return \"commit.create expectedHeadSha may only reference a branch.create step's commitSha\";\n }\n const source = earlier.find((step) => step.stepName === ref.step);\n if (source === undefined || source.kind !== \"branch.create\") {\n return \"commit.create expectedHeadSha may only reference a branch.create step's commitSha\";\n }\n if (source.references[\"/fromSha\"] !== undefined) return undefined;\n const from = source.payload.fromSha;\n return typeof from === \"string\" && from.toLowerCase() === captureBaseSha.toLowerCase()\n ? undefined\n : `branch.create step ${source.stepName} must start from the captured commit ${captureBaseSha} for commit.create to build on it`;\n}\n", "import { z } from \"zod\";\nimport {\n COMMIT_FILE_LIMIT,\n operationOutputRenderedMaxLength,\n operationKindValues,\n operationOutputNames,\n operationOutputSentinel,\n operationOutputType,\n operationSchema,\n type OperationKind,\n type OperationOutputType,\n} from \"./operations\";\nimport {\n DEFAULT_WRITE_BRANCHES,\n branchPatternsSchema,\n branchWriteFields,\n branchWriteRefusal,\n commitBaseRefusal,\n isBranchWriteKind,\n} from \"./branches\";\n\nconst identifier = z.string().regex(/^[a-z0-9](?:[a-z0-9._-]{0,158}[a-z0-9])?$/);\nconst boundIdentifier = z.string().regex(/^[A-Za-z0-9][A-Za-z0-9._:-]{0,159}$/);\nconst githubNumericId = z.string().regex(/^[1-9][0-9]{0,19}$/);\nconst sha1 = z.string().regex(/^[a-f0-9]{40}$/);\nconst sha256 = z.string().regex(/^[a-f0-9]{64}$/);\nconst repositoryFullName = z.string().regex(/^[A-Za-z0-9_.-]+\\/[A-Za-z0-9_.-]+$/).max(201);\nconst relativePath = z.string().min(1).max(1_024).refine(\n (path) => !path.startsWith(\"/\") && !path.endsWith(\"/\") && !path.includes(\"\\\\\")\n && path.split(\"/\").every((component) => component.length > 0 && component !== \".\" && component !== \"..\"),\n \"expected a normalized repository-relative POSIX path\",\n);\n\nconst taskLabelFilterV1Schema = z.array(z.string().trim().min(1).max(100)).max(20).default([]);\n\n/**\n * A GitHub login as it appears in an @mention: letters, digits and single\n * hyphens, no leading or trailing hyphen, at most 39 characters. Bundles carry\n * it lowercased, because GitHub matches mentions case-insensitively.\n */\nexport const githubHandleV1Schema = z.string().regex(\n /^[a-z0-9](?:[a-z0-9]|-(?=[a-z0-9])){0,38}$/,\n \"expected a lowercase GitHub login such as octocat\",\n);\n\n/** GitHub's `author_association` values. */\nexport const authorAssociationV1Schema = z.enum([\n \"OWNER\",\n \"MEMBER\",\n \"COLLABORATOR\",\n \"CONTRIBUTOR\",\n \"FIRST_TIME_CONTRIBUTOR\",\n \"FIRST_TIMER\",\n \"MANNEQUIN\",\n \"NONE\",\n]);\nexport type AuthorAssociationV1 = z.infer<typeof authorAssociationV1Schema>;\n\n/** Associations `authors: maintainers` admits. */\nexport const maintainerAssociations = [\"OWNER\", \"MEMBER\", \"COLLABORATOR\"] as const satisfies readonly AuthorAssociationV1[];\n\nconst taskMentionFilterV1Schema = z.array(githubHandleV1Schema).max(20).default([]).refine(\n (handles) => new Set(handles).size === handles.length,\n \"mentions must not repeat a handle\",\n);\n\n/** GitHub branch filter pattern accepted by `on.push.branches`. */\nconst branchFilterV1Schema = z.string().trim().min(1).max(255).regex(\n /^!?[A-Za-z0-9_.\\-/*?+[\\]]+$/,\n \"expected a GitHub branch filter pattern\",\n);\n\n/**\n * Inclusive numeric bounds for the five POSIX cron fields GitHub Actions\n * accepts, in field order.\n */\nconst CRON_FIELD_BOUNDS: readonly (readonly [number, number])[] = [\n [0, 59],\n [0, 23],\n [1, 31],\n [1, 12],\n [0, 6],\n];\n\n/**\n * Conservative validator for the cron dialect GitHub Actions actually honours:\n * five numeric fields built from `*`, ranges, lists, and steps. Named months\n * and weekdays, `?`, `L`, `W`, and `#` are rejected because GitHub either\n * ignores them or refuses the workflow, and a silently-never-firing schedule is\n * indistinguishable from a broken task.\n */\nfunction cronFieldIsValid(field: string, low: number, high: number): boolean {\n if (field.length === 0) return false;\n return field.split(\",\").every((item) => {\n if (item.length === 0) return false;\n const [range, step, ...excess] = item.split(\"/\");\n if (excess.length > 0 || range === undefined) return false;\n if (step !== undefined) {\n if (!/^[0-9]{1,2}$/.test(step)) return false;\n const parsed = Number(step);\n if (parsed < 1 || parsed > high) return false;\n }\n if (range === \"*\") return true;\n const bounds = range.split(\"-\");\n if (bounds.length > 2) return false;\n if (!bounds.every((bound) => /^[0-9]{1,2}$/.test(bound))) return false;\n const numbers = bounds.map(Number);\n if (numbers.some((value) => value < low || value > high)) return false;\n return numbers.length === 1 || numbers[0]! <= numbers[1]!;\n });\n}\n\nconst cronExpressionV1Schema = z.string().trim().min(1).max(100).superRefine((value, context) => {\n const fields = value.split(\" \");\n if (fields.length !== 5) {\n context.addIssue({ code: \"custom\", message: \"expected a five-field cron expression\" });\n return;\n }\n for (const [index, field] of fields.entries()) {\n const [low, high] = CRON_FIELD_BOUNDS[index]!;\n if (!cronFieldIsValid(field, low, high)) {\n context.addIssue({\n code: \"custom\",\n message: `cron field ${index + 1} must use numbers ${low}-${high}, ranges, lists, or steps`,\n });\n }\n }\n});\n\nfunction labelGatedTrigger<Kind extends string>(kind: Kind) {\n return z.strictObject({ kind: z.literal(kind), labelsAll: taskLabelFilterV1Schema });\n}\n\n/**\n * A trigger whose event carries text someone wrote: an issue, pull request,\n * discussion, review or comment. It can also require an @mention and restrict\n * who wrote the text. The compiler always writes `authors`, resolved from the\n * task's defaults, so the runtime never infers it.\n */\nfunction authoredTrigger<Kind extends string>(kind: Kind) {\n return z.strictObject({\n kind: z.literal(kind),\n labelsAll: taskLabelFilterV1Schema,\n mentions: taskMentionFilterV1Schema,\n authors: z.enum([\"maintainers\", \"any\"]),\n });\n}\n\n/**\n * Portable repository event requirements. One member per (event, action) pair so\n * that every declared trigger compiles to an exact provider filter.\n */\nexport const taskTriggerV1Schema = z.discriminatedUnion(\"kind\", [\n authoredTrigger(\"github.issue.opened\"),\n authoredTrigger(\"github.issue.edited\"),\n labelGatedTrigger(\"github.issue.labeled\"),\n labelGatedTrigger(\"github.issue.unlabeled\"),\n labelGatedTrigger(\"github.issue.reopened\"),\n authoredTrigger(\"github.issue_comment.created\"),\n authoredTrigger(\"github.issue_comment.edited\"),\n authoredTrigger(\"github.pull_request.opened\"),\n labelGatedTrigger(\"github.pull_request.reopened\"),\n labelGatedTrigger(\"github.pull_request.synchronize\"),\n labelGatedTrigger(\"github.pull_request.ready_for_review\"),\n labelGatedTrigger(\"github.pull_request.converted_to_draft\"),\n authoredTrigger(\"github.pull_request.edited\"),\n labelGatedTrigger(\"github.pull_request.labeled\"),\n labelGatedTrigger(\"github.pull_request.unlabeled\"),\n authoredTrigger(\"github.pull_request_review.submitted\"),\n authoredTrigger(\"github.pull_request_review_comment.created\"),\n authoredTrigger(\"github.pull_request_review_comment.edited\"),\n z.strictObject({\n kind: z.literal(\"github.push\"),\n /**\n * At least one positive pattern is required. GitHub evaluates `branches`\n * as an allowlist, so an all-negative list matches nothing and the task\n * would never run.\n */\n branches: z.array(branchFilterV1Schema).min(1).max(20).refine(\n (branches) => branches.some((branch) => !branch.startsWith(\"!\")),\n \"push branches must include at least one positive pattern\",\n ),\n }),\n z.strictObject({ kind: z.literal(\"github.workflow_dispatch\") }),\n z.strictObject({ kind: z.literal(\"github.schedule\"), cron: cronExpressionV1Schema }),\n authoredTrigger(\"github.discussion.created\"),\n authoredTrigger(\"github.discussion.edited\"),\n labelGatedTrigger(\"github.discussion.answered\"),\n labelGatedTrigger(\"github.discussion.unanswered\"),\n labelGatedTrigger(\"github.discussion.labeled\"),\n labelGatedTrigger(\"github.discussion.unlabeled\"),\n authoredTrigger(\"github.discussion_comment.created\"),\n authoredTrigger(\"github.discussion_comment.edited\"),\n]);\nexport type TaskTriggerV1 = z.infer<typeof taskTriggerV1Schema>;\nexport type TaskTriggerKindV1 = TaskTriggerV1[\"kind\"];\n\n/** Declaration order is canonical for compiled filters and generated workflows. */\nexport const taskTriggerKindValues = [\n \"github.issue.opened\",\n \"github.issue.edited\",\n \"github.issue.labeled\",\n \"github.issue.unlabeled\",\n \"github.issue.reopened\",\n \"github.issue_comment.created\",\n \"github.issue_comment.edited\",\n \"github.pull_request.opened\",\n \"github.pull_request.reopened\",\n \"github.pull_request.synchronize\",\n \"github.pull_request.ready_for_review\",\n \"github.pull_request.converted_to_draft\",\n \"github.pull_request.edited\",\n \"github.pull_request.labeled\",\n \"github.pull_request.unlabeled\",\n \"github.pull_request_review.submitted\",\n \"github.pull_request_review_comment.created\",\n \"github.pull_request_review_comment.edited\",\n \"github.push\",\n \"github.workflow_dispatch\",\n \"github.schedule\",\n \"github.discussion.created\",\n \"github.discussion.edited\",\n \"github.discussion.answered\",\n \"github.discussion.unanswered\",\n \"github.discussion.labeled\",\n \"github.discussion.unlabeled\",\n \"github.discussion_comment.created\",\n \"github.discussion_comment.edited\",\n] as const satisfies readonly TaskTriggerKindV1[];\n\n/**\n * Compile-time exhaustiveness guard. If a member is added to the trigger union\n * without being ordered here, this alias resolves to `never` and fails the\n * build rather than silently dropping the kind from canonical ordering.\n */\ntype UnorderedTriggerKind = Exclude<TaskTriggerKindV1, (typeof taskTriggerKindValues)[number]>;\nexport type TriggerOrderingIsExhaustive = UnorderedTriggerKind extends never ? true : never;\nexport const triggerOrderingIsExhaustive: TriggerOrderingIsExhaustive = true;\n\n/** Canonical position of a trigger kind, used to order compiled bundles. */\nexport const triggerKindOrder: ReadonlyMap<TaskTriggerKindV1, number> = new Map(\n taskTriggerKindValues.map((kind, index) => [kind, index]),\n);\n\n/** Triggers whose provider payload can reference a fork-owned head revision. */\nexport const pullRequestFamilyTriggerKindValues = taskTriggerKindValues.filter(\n (kind) => kind.startsWith(\"github.pull_request\"),\n);\n\n/** Resources a manual run may target, by number. */\nexport const dispatchTargetKindValues = [\"issue\", \"pull_request\"] as const;\nexport type DispatchTargetKindV1 = typeof dispatchTargetKindValues[number];\n\n/**\n * Resources a manual run of this bundle may target: those its other triggers\n * act on. An issue-triggered task can be run by hand against an issue, a pull\n * request task against a pull request.\n */\nexport function dispatchTargetKinds(triggers: readonly { kind: TaskTriggerKindV1 }[]): DispatchTargetKindV1[] {\n const kinds = new Set(triggers.map((trigger) => trigger.kind));\n const targets: DispatchTargetKindV1[] = [];\n if ([...kinds].some((kind) => kind.startsWith(\"github.issue\"))) targets.push(\"issue\");\n if ([...kinds].some((kind) => kind.startsWith(\"github.pull_request\"))) targets.push(\"pull_request\");\n return targets;\n}\n\nexport const taskToolV1Schema = z.enum([\n \"repository.read_file\",\n \"repository.list_files\",\n \"repository.exec\",\n \"provider.api.read\",\n]);\nexport type TaskToolV1 = z.infer<typeof taskToolV1Schema>;\n\n/** Canonical effect authority vocabulary: exactly the persistent provider operations. */\nexport const taskEffectKindValues = operationKindValues;\nexport const taskEffectKindV1Schema = z.enum(taskEffectKindValues);\nexport type TaskEffectKindV1 = z.infer<typeof taskEffectKindV1Schema>;\n\nconst networkHostPattern = z.string().regex(\n /^(?:\\*\\.)?(?=.{1,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$/,\n \"expected a lowercase DNS hostname or leading-wildcard hostname\",\n);\n\nexport const taskNetworkPolicyV1Schema = z.strictObject({\n default: z.enum([\"deny\", \"allow\"]),\n allow: z.array(networkHostPattern).max(64),\n deny: z.array(networkHostPattern).max(64),\n}).superRefine((policy, context) => {\n for (const key of [\"allow\", \"deny\"] as const) {\n if (new Set(policy[key]).size !== policy[key].length) {\n context.addIssue({ code: \"custom\", path: [key], message: `${key} hosts must be unique` });\n }\n }\n});\nexport type TaskNetworkPolicyV1 = z.infer<typeof taskNetworkPolicyV1Schema>;\n\nexport const taskLimitsV1Schema = z.strictObject({\n runtimeSeconds: z.number().int().positive().max(3_600),\n maxTurns: z.number().int().positive().max(32),\n maxToolCalls: z.number().int().positive().max(256),\n inputTokens: z.number().int().positive().max(1_000_000),\n outputTokens: z.number().int().positive().max(250_000),\n /**\n * Optional task-authored effect-plan ceilings. When omitted Gardener adds no\n * product cap and only provider and runtime ceilings apply. When present both\n * planning and application fail closed.\n */\n maxEffectOperations: z.number().int().positive().max(1_000).optional(),\n maxEffectBytes: z.number().int().min(1_024).max(50_000_000).optional(),\n});\nexport type TaskLimitsV1 = z.infer<typeof taskLimitsV1Schema>;\n\n/**\n * A model id as AI Gateway addresses it through the Workers AI binding, e.g.\n * `@cf/moonshotai/kimi-k2.6` or `openai/gpt-5.1`. Any id is accepted; whether\n * the model can call tools is only known when it runs.\n */\nexport const taskModelIdSchema = z.string().min(1).max(256)\n .regex(/^[A-Za-z0-9@][A-Za-z0-9@._:/+-]*$/, \"model must be an AI Gateway model id such as @cf/moonshotai/kimi-k2.6 or openai/gpt-5.1\")\n .refine(\n (id) => !id.split(\"/\").some((segment) => segment === \"\" || segment === \".\" || segment === \"..\"),\n \"model path segments must be non-empty and cannot be . or ..\",\n )\n // The runtime adds the `cloudflare/` provider prefix itself and refuses a\n // model that still carries one, so reject it here rather than mid-run.\n .refine((id) => !id.startsWith(\"cloudflare/\"), \"model must not start with cloudflare/; name the model as AI Gateway does, e.g. openai/gpt-5.1\");\n\nconst taskEffectOptionsV1Schema = z.strictObject({ branches: branchPatternsSchema });\n\n/**\n * Options on declared effects. Only the kinds that write to a branch take any,\n * and a kind without an entry keeps its defaults.\n */\nexport const taskEffectOptionsMapV1Schema = z.strictObject({\n \"branch.create\": taskEffectOptionsV1Schema.optional(),\n \"commit.create\": taskEffectOptionsV1Schema.optional(),\n \"pull_request.open\": taskEffectOptionsV1Schema.optional(),\n \"pull_request.open_draft\": taskEffectOptionsV1Schema.optional(),\n});\nexport type TaskEffectOptionsMapV1 = z.infer<typeof taskEffectOptionsMapV1Schema>;\n\n/**\n * Branch patterns each branch-writing kind may use, as a plan carries them.\n * A kind without an entry is confined to `gardener/**`.\n */\nexport const taskBranchPatternsV1Schema = z.strictObject({\n \"branch.create\": branchPatternsSchema.optional(),\n \"commit.create\": branchPatternsSchema.optional(),\n \"pull_request.open\": branchPatternsSchema.optional(),\n \"pull_request.open_draft\": branchPatternsSchema.optional(),\n});\nexport type TaskBranchPatternsV1 = z.infer<typeof taskBranchPatternsV1Schema>;\n\n/** The branch patterns a bundle grants each branch-writing kind it declares with options. */\nexport function bundleBranchPatterns(bundle: Pick<TaskBundleV1, \"effectOptions\">): TaskBranchPatternsV1 | undefined {\n const entries = Object.entries(bundle.effectOptions ?? {})\n .flatMap(([kind, options]) => options === undefined ? [] : [[kind, options.branches] as const]);\n return entries.length === 0 ? undefined : Object.fromEntries(entries) as TaskBranchPatternsV1;\n}\n\n/**\n * Repository-independent executable semantics. Authoring formats compile to\n * this contract; the runtime never parses Markdown or YAML.\n */\nexport const taskBundleV1Schema = z.strictObject({\n schemaVersion: z.literal(\"gardener.task-bundle/v1\"),\n taskId: identifier,\n name: z.string().trim().min(1).max(100),\n description: z.string().trim().min(1).max(1_000),\n instructions: z.string().trim().min(1).max(100_000),\n triggers: z.array(taskTriggerV1Schema).min(1).max(taskTriggerKindValues.length),\n tools: z.array(taskToolV1Schema).max(taskToolV1Schema.options.length),\n effects: z.array(taskEffectKindV1Schema).max(taskEffectKindV1Schema.options.length),\n /** Absent when no declared effect has options, so such bundles hash as before. */\n effectOptions: taskEffectOptionsMapV1Schema.optional(),\n network: taskNetworkPolicyV1Schema,\n limits: taskLimitsV1Schema,\n /**\n * The model every run of this bundle uses. Authoring fills in Gardener's\n * default when a task names none, so the bundle always states its model.\n */\n model: taskModelIdSchema,\n /**\n * A draft task runs only when dispatched by hand. Its other triggers are kept\n * so a manual run can still target the resource they describe, but no real\n * event starts it.\n */\n draft: z.literal(true).optional(),\n}).superRefine((bundle, context) => {\n for (const key of [\"tools\", \"effects\"] as const) {\n if (new Set(bundle[key]).size !== bundle[key].length) {\n context.addIssue({ code: \"custom\", path: [key], message: `${key} must be unique` });\n }\n }\n if (bundle.effectOptions !== undefined) {\n const optioned = Object.entries(bundle.effectOptions).filter(([, options]) => options !== undefined);\n if (optioned.length === 0) {\n context.addIssue({ code: \"custom\", path: [\"effectOptions\"], message: \"effectOptions must be omitted when no effect has options\" });\n }\n for (const [kind] of optioned) {\n if (!(bundle.effects as readonly string[]).includes(kind)) {\n context.addIssue({ code: \"custom\", path: [\"effectOptions\", kind], message: `options are given for ${kind}, which the task does not declare` });\n }\n }\n }\n const triggerKinds = bundle.triggers.map((trigger) => trigger.kind);\n if (new Set(triggerKinds).size !== triggerKinds.length) {\n context.addIssue({ code: \"custom\", path: [\"triggers\"], message: \"triggers must be unique\" });\n }\n // Canonical ordering keeps the bundle hash and the generated workflow stable\n // regardless of the order the author listed triggers in.\n const positions = triggerKinds.map((kind) => triggerKindOrder.get(kind)!);\n if (positions.some((position, index) => index > 0 && position <= positions[index - 1]!)) {\n context.addIssue({ code: \"custom\", path: [\"triggers\"], message: \"triggers must use canonical declaration order\" });\n }\n if (!triggerKinds.includes(\"github.workflow_dispatch\")) {\n context.addIssue({ code: \"custom\", path: [\"triggers\"], message: \"every task must include the github.workflow_dispatch trigger\" });\n }\n if (bundle.limits.outputTokens < bundle.limits.maxTurns * 16) {\n context.addIssue({ code: \"custom\", path: [\"limits\", \"outputTokens\"], message: \"outputTokens must permit at least 16 tokens per model turn\" });\n }\n});\nexport type TaskBundleV1 = z.infer<typeof taskBundleV1Schema>;\n\nconst normalizedRepositoryV1Schema = z.strictObject({\n id: githubNumericId,\n ownerId: githubNumericId,\n owner: z.string().min(1).max(100),\n name: z.string().min(1).max(100),\n fullName: repositoryFullName,\n visibility: z.enum([\"public\", \"private\", \"internal\"]),\n commitSha: sha1,\n ref: z.string().min(1).max(1_024),\n /**\n * Default branch as GitHub reported it *in the triggering event payload*.\n *\n * Every exact operation embeds a repository identity, and that identity\n * includes the default branch. The value is taken from the bounded event\n * payload rather than read back from the API at apply time on purpose: the\n * default branch is mutable, so a later fetch could return a value that was\n * never true for this run and would silently change the canonical operation\n * hash \u2014 the same hash that commit trailers and receipts reconcile against.\n * Carrying the event's value keeps operation identity a function of the run.\n */\n defaultBranch: z.string().trim().min(1).max(255),\n});\n\n/** GitHub Actions event names Gardener admits. `pull_request_target` is excluded. */\nexport const normalizedEventNameV1Schema = z.enum([\n \"issues\",\n \"issue_comment\",\n \"pull_request\",\n \"pull_request_review\",\n \"pull_request_review_comment\",\n \"push\",\n \"workflow_dispatch\",\n \"schedule\",\n \"discussion\",\n \"discussion_comment\",\n]);\nexport type NormalizedEventNameV1 = z.infer<typeof normalizedEventNameV1Schema>;\n\n/**\n * Exact GitHub event name each portable trigger compiles to. This is the single\n * source of truth shared by the compiler, the OIDC admission check, and the\n * runtime trigger matcher, so the three can never disagree.\n */\nexport const eventNameByTriggerKind = {\n \"github.issue.opened\": \"issues\",\n \"github.issue.edited\": \"issues\",\n \"github.issue.labeled\": \"issues\",\n \"github.issue.unlabeled\": \"issues\",\n \"github.issue.reopened\": \"issues\",\n \"github.issue_comment.created\": \"issue_comment\",\n \"github.issue_comment.edited\": \"issue_comment\",\n \"github.pull_request.opened\": \"pull_request\",\n \"github.pull_request.reopened\": \"pull_request\",\n \"github.pull_request.synchronize\": \"pull_request\",\n \"github.pull_request.ready_for_review\": \"pull_request\",\n \"github.pull_request.converted_to_draft\": \"pull_request\",\n \"github.pull_request.edited\": \"pull_request\",\n \"github.pull_request.labeled\": \"pull_request\",\n \"github.pull_request.unlabeled\": \"pull_request\",\n \"github.pull_request_review.submitted\": \"pull_request_review\",\n \"github.pull_request_review_comment.created\": \"pull_request_review_comment\",\n \"github.pull_request_review_comment.edited\": \"pull_request_review_comment\",\n \"github.push\": \"push\",\n \"github.workflow_dispatch\": \"workflow_dispatch\",\n \"github.schedule\": \"schedule\",\n \"github.discussion.created\": \"discussion\",\n \"github.discussion.edited\": \"discussion\",\n \"github.discussion.answered\": \"discussion\",\n \"github.discussion.unanswered\": \"discussion\",\n \"github.discussion.labeled\": \"discussion\",\n \"github.discussion.unlabeled\": \"discussion\",\n \"github.discussion_comment.created\": \"discussion_comment\",\n \"github.discussion_comment.edited\": \"discussion_comment\",\n} as const satisfies Record<TaskTriggerKindV1, NormalizedEventNameV1>;\n\n/**\n * `github.event.action` each trigger requires, when the event is\n * action-qualified. `push`, `schedule`, and `workflow_dispatch` carry none.\n */\nexport const eventActionByTriggerKind = {\n \"github.issue.opened\": \"opened\",\n \"github.issue.edited\": \"edited\",\n \"github.issue.labeled\": \"labeled\",\n \"github.issue.unlabeled\": \"unlabeled\",\n \"github.issue.reopened\": \"reopened\",\n \"github.issue_comment.created\": \"created\",\n \"github.issue_comment.edited\": \"edited\",\n \"github.pull_request.opened\": \"opened\",\n \"github.pull_request.reopened\": \"reopened\",\n \"github.pull_request.synchronize\": \"synchronize\",\n \"github.pull_request.ready_for_review\": \"ready_for_review\",\n \"github.pull_request.converted_to_draft\": \"converted_to_draft\",\n \"github.pull_request.edited\": \"edited\",\n \"github.pull_request.labeled\": \"labeled\",\n \"github.pull_request.unlabeled\": \"unlabeled\",\n \"github.pull_request_review.submitted\": \"submitted\",\n \"github.pull_request_review_comment.created\": \"created\",\n \"github.pull_request_review_comment.edited\": \"edited\",\n \"github.push\": null,\n \"github.workflow_dispatch\": null,\n \"github.schedule\": null,\n \"github.discussion.created\": \"created\",\n \"github.discussion.edited\": \"edited\",\n \"github.discussion.answered\": \"answered\",\n \"github.discussion.unanswered\": \"unanswered\",\n \"github.discussion.labeled\": \"labeled\",\n \"github.discussion.unlabeled\": \"unlabeled\",\n \"github.discussion_comment.created\": \"created\",\n \"github.discussion_comment.edited\": \"edited\",\n} as const satisfies Record<TaskTriggerKindV1, string | null>;\n\n/** Trigger kinds that accept `mentions` and `authors`. */\nexport type AuthoredTriggerKindV1 = Extract<TaskTriggerV1, { authors: unknown }>[\"kind\"];\n\n/**\n * Where an authored trigger's text lives in the normalized event, and so which\n * body a mention must appear in and whose `author_association` counts.\n */\nexport const authoredTriggerSubject = {\n \"github.issue.opened\": \"issue\",\n \"github.issue.edited\": \"issue\",\n \"github.issue_comment.created\": \"comment\",\n \"github.issue_comment.edited\": \"comment\",\n \"github.pull_request.opened\": \"pullRequest\",\n \"github.pull_request.edited\": \"pullRequest\",\n \"github.pull_request_review.submitted\": \"review\",\n \"github.pull_request_review_comment.created\": \"comment\",\n \"github.pull_request_review_comment.edited\": \"comment\",\n \"github.discussion.created\": \"discussion\",\n \"github.discussion.edited\": \"discussion\",\n \"github.discussion_comment.created\": \"comment\",\n \"github.discussion_comment.edited\": \"comment\",\n} as const satisfies Record<AuthoredTriggerKindV1, \"issue\" | \"comment\" | \"pullRequest\" | \"review\" | \"discussion\">;\n\nexport function isAuthoredTriggerKind(kind: TaskTriggerKindV1): kind is AuthoredTriggerKindV1 {\n return Object.hasOwn(authoredTriggerSubject, kind);\n}\n\n/**\n * Authored triggers whose text anyone who can comment may write, so they only\n * run for maintainers unless the task says otherwise. A trigger with\n * `mentions` defaults the same way.\n */\nconst maintainerDefaultKinds: ReadonlySet<TaskTriggerKindV1> = new Set([\n \"github.issue_comment.created\",\n \"github.issue_comment.edited\",\n \"github.pull_request_review.submitted\",\n \"github.pull_request_review_comment.created\",\n \"github.pull_request_review_comment.edited\",\n \"github.discussion_comment.created\",\n \"github.discussion_comment.edited\",\n]);\n\nexport function defaultTriggerAuthors(kind: AuthoredTriggerKindV1, mentions: readonly string[]): \"maintainers\" | \"any\" {\n return maintainerDefaultKinds.has(kind) || mentions.length > 0 ? \"maintainers\" : \"any\";\n}\n\n/** Edited triggers: with `mentions`, they run only when the edit added the mention. */\nexport function isEditedTriggerKind(kind: TaskTriggerKindV1): boolean {\n return eventActionByTriggerKind[kind] === \"edited\";\n}\n\nconst normalizedWorkflowV1Schema = z.strictObject({\n runId: githubNumericId,\n runAttempt: z.number().int().positive().max(1_000),\n eventName: normalizedEventNameV1Schema,\n workflowRef: z.string().min(1).max(1_024),\n jobWorkflowRef: z.string().min(1).max(1_024),\n runnerEnvironment: z.literal(\"github-hosted\"),\n});\n\nconst normalizedActorV1Schema = z.strictObject({\n id: githubNumericId,\n login: z.string().min(1).max(100),\n});\n\nconst normalizedEventBase = {\n schemaVersion: z.literal(\"gardener.normalized-event/v1\"),\n eventId: boundIdentifier,\n occurredAt: z.iso.datetime(),\n repository: normalizedRepositoryV1Schema,\n workflow: normalizedWorkflowV1Schema,\n actor: normalizedActorV1Schema,\n};\n\nconst boundedLabels = z.array(z.string().trim().min(1).max(100)).max(100);\nconst boundedBody = z.string().max(65_536).nullable();\n\n/** Opaque GraphQL node identifier, required to apply discussion operations. */\nconst githubNodeId = z.string().min(1).max(256).regex(/^[A-Za-z0-9_=-]+$/);\n\nconst normalizedIssueV1Schema = z.strictObject({\n id: githubNumericId,\n number: z.number().int().positive(),\n title: z.string().max(1_024),\n body: boundedBody,\n // Optional only for compatibility with explicitly pinned pre-field bridge\n // revisions. Current bridges always emit both; apply never trusts them.\n state: z.enum([\"open\", \"closed\"]).optional(),\n updatedAt: z.iso.datetime().optional(),\n labels: boundedLabels,\n author: normalizedActorV1Schema,\n authorAssociation: authorAssociationV1Schema.optional(),\n});\n\n/**\n * Minimal repository identity for a pull-request side. `id` is the numeric\n * repository id, which is what same-repo enforcement compares; `fullName` is\n * carried only for messages and model context.\n */\nconst normalizedPullRequestRepositoryV1Schema = z.strictObject({\n id: githubNumericId,\n fullName: repositoryFullName,\n});\n\nconst normalizedPullRequestV1Schema = z.strictObject({\n id: githubNumericId,\n number: z.number().int().positive(),\n title: z.string().max(1_024),\n body: boundedBody,\n labels: boundedLabels,\n author: normalizedActorV1Schema,\n authorAssociation: authorAssociationV1Schema.optional(),\n draft: z.boolean(),\n state: z.enum([\"open\", \"closed\"]),\n merged: z.boolean(),\n updatedAt: z.iso.datetime().optional(),\n base: z.strictObject({\n ref: z.string().min(1).max(255),\n sha: sha1,\n repo: normalizedPullRequestRepositoryV1Schema,\n }),\n /**\n * Head revision identity. `repo` is nullable because GitHub omits it when the\n * fork has been deleted; a null head repository can never satisfy same-repo\n * enforcement, so the run fails closed.\n */\n head: z.strictObject({\n ref: z.string().min(1).max(255),\n sha: sha1,\n repo: normalizedPullRequestRepositoryV1Schema.nullable(),\n }),\n});\n\nconst normalizedCommentV1Schema = z.strictObject({\n id: githubNumericId,\n body: boundedBody,\n updatedAt: z.iso.datetime().optional(),\n author: normalizedActorV1Schema,\n authorAssociation: authorAssociationV1Schema.optional(),\n});\n\nconst normalizedReviewV1Schema = z.strictObject({\n id: githubNumericId,\n state: z.enum([\"approved\", \"changes_requested\", \"commented\", \"dismissed\", \"pending\"]),\n body: boundedBody,\n author: normalizedActorV1Schema,\n authorAssociation: authorAssociationV1Schema.optional(),\n});\n\nconst normalizedDiscussionV1Schema = z.strictObject({\n id: githubNumericId,\n nodeId: githubNodeId,\n number: z.number().int().positive(),\n title: z.string().max(1_024),\n body: boundedBody,\n labels: boundedLabels,\n author: normalizedActorV1Schema,\n authorAssociation: authorAssociationV1Schema.optional(),\n category: z.string().min(1).max(100),\n answered: z.boolean(),\n state: z.enum([\"open\", \"closed\"]).optional(),\n updatedAt: z.iso.datetime().optional(),\n});\n\nconst normalizedDiscussionCommentV1Schema = z.strictObject({\n id: githubNumericId,\n nodeId: githubNodeId,\n body: boundedBody,\n updatedAt: z.iso.datetime().optional(),\n author: normalizedActorV1Schema,\n authorAssociation: authorAssociationV1Schema.optional(),\n});\n\nconst normalizedPushV1Schema = z.strictObject({\n ref: z.string().min(1).max(1_024),\n before: sha1,\n after: sha1,\n forced: z.boolean(),\n /** Bounded commit summary; the full list is never carried into model context. */\n commits: z.array(z.strictObject({\n sha: sha1,\n message: z.string().max(4_096),\n author: z.strictObject({ name: z.string().max(200), email: z.string().max(320) }),\n })).max(20),\n /** Number of commits present in `commits`, which is never the push total. */\n includedCommits: z.number().int().min(0).max(20),\n /**\n * True when commits were dropped building this event. GitHub also caps its\n * own push payload, so `false` does not prove the push was small; use\n * `before`/`after` with the provider API when an exact range matters.\n */\n commitsTruncated: z.boolean(),\n});\n\n/** The single label GitHub attached or removed on a `labeled`/`unlabeled` event. */\nconst changedLabel = z.string().trim().min(1).max(100);\n\nfunction eventMember<Kind extends TaskTriggerKindV1, Shape extends z.ZodRawShape>(kind: Kind, shape: Shape) {\n return z.strictObject({ ...normalizedEventBase, kind: z.literal(kind), ...shape });\n}\n\nconst issuePayload = { issue: normalizedIssueV1Schema };\n/**\n * On an edited event, the text body before the edit. Present only when the\n * edit changed the body (GitHub's `changes.body.from`), so its absence means a\n * title-only or other edit.\n */\nconst editedPayload = { previousBody: z.string().max(65_536).optional() };\nconst pullRequestPayload = { pullRequest: normalizedPullRequestV1Schema };\nconst discussionPayload = { discussion: normalizedDiscussionV1Schema };\n\nexport const normalizedEventV1Schema = z.discriminatedUnion(\"kind\", [\n eventMember(\"github.issue.opened\", issuePayload),\n eventMember(\"github.issue.edited\", { ...issuePayload, ...editedPayload }),\n eventMember(\"github.issue.labeled\", { ...issuePayload, label: changedLabel }),\n eventMember(\"github.issue.unlabeled\", { ...issuePayload, label: changedLabel }),\n eventMember(\"github.issue.reopened\", issuePayload),\n eventMember(\"github.issue_comment.created\", { ...issuePayload, comment: normalizedCommentV1Schema }),\n eventMember(\"github.issue_comment.edited\", { ...issuePayload, comment: normalizedCommentV1Schema, ...editedPayload }),\n eventMember(\"github.pull_request.opened\", pullRequestPayload),\n eventMember(\"github.pull_request.reopened\", pullRequestPayload),\n eventMember(\"github.pull_request.synchronize\", pullRequestPayload),\n eventMember(\"github.pull_request.ready_for_review\", pullRequestPayload),\n eventMember(\"github.pull_request.converted_to_draft\", pullRequestPayload),\n eventMember(\"github.pull_request.edited\", { ...pullRequestPayload, ...editedPayload }),\n eventMember(\"github.pull_request.labeled\", { ...pullRequestPayload, label: changedLabel }),\n eventMember(\"github.pull_request.unlabeled\", { ...pullRequestPayload, label: changedLabel }),\n eventMember(\"github.pull_request_review.submitted\", { ...pullRequestPayload, review: normalizedReviewV1Schema }),\n eventMember(\"github.pull_request_review_comment.created\", { ...pullRequestPayload, comment: normalizedCommentV1Schema }),\n eventMember(\"github.pull_request_review_comment.edited\", { ...pullRequestPayload, comment: normalizedCommentV1Schema, ...editedPayload }),\n eventMember(\"github.push\", { push: normalizedPushV1Schema }),\n eventMember(\"github.workflow_dispatch\", {\n prompt: z.string().trim().min(1).max(20_000).optional(),\n // A manual run may name one issue or pull request to act on.\n issue: normalizedIssueV1Schema.optional(),\n pullRequest: normalizedPullRequestV1Schema.optional(),\n }),\n eventMember(\"github.schedule\", { cron: cronExpressionV1Schema }),\n eventMember(\"github.discussion.created\", discussionPayload),\n eventMember(\"github.discussion.edited\", { ...discussionPayload, ...editedPayload }),\n eventMember(\"github.discussion.answered\", discussionPayload),\n eventMember(\"github.discussion.unanswered\", discussionPayload),\n eventMember(\"github.discussion.labeled\", { ...discussionPayload, label: changedLabel }),\n eventMember(\"github.discussion.unlabeled\", { ...discussionPayload, label: changedLabel }),\n eventMember(\"github.discussion_comment.created\", { ...discussionPayload, comment: normalizedDiscussionCommentV1Schema }),\n eventMember(\"github.discussion_comment.edited\", { ...discussionPayload, comment: normalizedDiscussionCommentV1Schema, ...editedPayload }),\n]).superRefine((event, context) => {\n if (event.repository.fullName !== `${event.repository.owner}/${event.repository.name}`) {\n context.addIssue({ code: \"custom\", path: [\"repository\", \"fullName\"], message: \"fullName must match repository owner and name\" });\n }\n if (event.workflow.eventName !== eventNameByTriggerKind[event.kind]) {\n context.addIssue({ code: \"custom\", path: [\"workflow\", \"eventName\"], message: \"workflow eventName does not match normalized event kind\" });\n }\n if (event.kind === \"github.workflow_dispatch\" && event.issue !== undefined && event.pullRequest !== undefined) {\n context.addIssue({ code: \"custom\", path: [\"pullRequest\"], message: \"a manual run may target an issue or a pull request, not both\" });\n }\n if (event.kind === \"github.push\" && event.push.ref !== event.repository.ref) {\n context.addIssue({ code: \"custom\", path: [\"push\", \"ref\"], message: \"push ref must match the bound repository ref\" });\n }\n});\nexport type NormalizedEventV1 = z.infer<typeof normalizedEventV1Schema>;\nexport type NormalizedPullRequestV1 = z.infer<typeof normalizedPullRequestV1Schema>;\n\n/**\n * Whether the planning job checks out a pull request's head instead of the\n * commit GitHub supplies (for pull request events, a merge preview). Only a\n * task that may commit beyond `gardener/**` needs it, to build on the head of\n * the pull request branch it pushes to. The generated workflow and the runtime\n * both derive the checkout from this one rule.\n */\nexport function checksOutPullRequestHead(bundle: Pick<TaskBundleV1, \"effectOptions\">): boolean {\n const patterns = bundle.effectOptions?.[\"commit.create\"]?.branches;\n if (patterns === undefined) return false;\n // Restating the default changes nothing, so it must not change the checkout.\n return !(patterns.length === DEFAULT_WRITE_BRANCHES.length\n && patterns.every((pattern, index) => pattern === DEFAULT_WRITE_BRANCHES[index]));\n}\n\n/**\n * The commit the planning job checks out for this event, which every capture\n * and commit builds on. A pull request head is used only for events whose\n * payload carries the pull request, because that is what the workflow can\n * check out; a manual run naming a pull request keeps the default checkout.\n */\nexport function taskCheckoutSha(bundle: Pick<TaskBundleV1, \"effectOptions\">, event: NormalizedEventV1): string {\n if (checksOutPullRequestHead(bundle) && event.kind !== \"github.workflow_dispatch\" && \"pullRequest\" in event && event.pullRequest !== undefined) {\n return event.pullRequest.head.sha;\n }\n return event.repository.commitSha;\n}\n\n/** Narrowed accessor for the pull-request payload, when the event carries one. */\nexport function normalizedPullRequest(event: NormalizedEventV1): NormalizedPullRequestV1 | undefined {\n return \"pullRequest\" in event ? event.pullRequest : undefined;\n}\n\n/**\n * Same-repository enforcement. Gardener V1 never executes a head revision that\n * is not owned by the enrolled repository, so fork pull requests fail closed\n * with no author-facing opt-in.\n */\nexport function eventHeadIsSameRepository(event: NormalizedEventV1): boolean {\n const pullRequest = normalizedPullRequest(event);\n if (pullRequest === undefined) return true;\n return pullRequest.head.repo !== null && pullRequest.head.repo.id === event.repository.id;\n}\n\nexport const taskRunRequestV1Schema = z.strictObject({\n schemaVersion: z.literal(\"gardener.task-run-request/v1\"),\n runId: boundIdentifier,\n bundle: taskBundleV1Schema,\n bundleHash: sha256,\n sourcePath: relativePath,\n policySnapshotHash: sha256,\n event: normalizedEventV1Schema,\n model: z.strictObject({ id: z.string().min(1).max(256) }),\n admittedAt: z.iso.datetime(),\n deadlineAt: z.iso.datetime(),\n}).superRefine((request, context) => {\n if (Date.parse(request.deadlineAt) <= Date.parse(request.admittedAt)) {\n context.addIssue({ code: \"custom\", path: [\"deadlineAt\"], message: \"deadline must follow admission\" });\n }\n if (request.event.repository.commitSha.length !== 40) {\n context.addIssue({ code: \"custom\", path: [\"event\", \"repository\", \"commitSha\"], message: \"invalid commit binding\" });\n }\n});\nexport type TaskRunRequestV1 = z.infer<typeof taskRunRequestV1Schema>;\n\nexport const taskToolResultV1Schema = z.strictObject({\n schemaVersion: z.literal(\"gardener.task-tool-result/v1\"),\n operationId: boundIdentifier,\n tool: taskToolV1Schema,\n status: z.enum([\"completed\", \"failed\", \"cancelled\", \"timed_out\"]),\n exitCode: z.number().int().min(0).max(255).nullable(),\n stdout: z.string().max(4 * 1_024 * 1_024),\n stderr: z.string().max(4 * 1_024 * 1_024),\n outputTruncated: z.boolean(),\n}).superRefine((result, context) => {\n const exited = result.status === \"completed\" || result.status === \"failed\";\n if (exited !== (result.exitCode !== null)) {\n context.addIssue({ code: \"custom\", path: [\"exitCode\"], message: \"exitCode must match process completion status\" });\n }\n});\nexport type TaskToolResultV1 = z.infer<typeof taskToolResultV1Schema>;\n\n/* -------------------------------------------------------------------------- */\n/* Ordered effect proposals and plans */\n/* -------------------------------------------------------------------------- */\n\n/**\n * Model-supplied name for one step of an ordered plan. Lowercase and short so\n * it reads well in a receipt, unique within a plan, and stable enough to be\n * folded into the derived operation id.\n */\nexport const taskStepNameV1Schema = z.string().regex(\n /^[a-z][a-z0-9]*(?:[_-][a-z0-9]+)*$/,\n \"expected a lowercase step name such as \\\"comment\\\" or \\\"open-draft\\\"\",\n).max(63);\nexport type TaskStepNameV1 = z.infer<typeof taskStepNameV1Schema>;\n\n/** Field names an operation publishes; matches the contracts output catalog. */\nconst taskOutputNameV1Schema = z.string().regex(/^[a-z][A-Za-z0-9]{0,63}$/);\n\n/**\n * Object keys that reach `Object.prototype` when used as a plain property\n * write. Model-authored payloads and pointers are attacker-controlled JSON, so\n * these are rejected outright at every depth rather than stripped: silently\n * dropping a key discards intent without telling anyone, and a dropped\n * `__proto__` still means the model asked for something Gardener refused.\n */\nexport const prototypePollutingKeys = [\"__proto__\", \"constructor\", \"prototype\"] as const;\nconst prototypePollutingKeySet: ReadonlySet<string> = new Set(prototypePollutingKeys);\n\n/** True when a key or pointer segment can reach the prototype chain. */\nexport function isPrototypePollutingKey(key: string): boolean {\n return prototypePollutingKeySet.has(key);\n}\n\n/**\n * RFC 6901 JSON pointer into a step payload. Bounded and non-empty: a plan\n * never substitutes a value for the whole payload. No segment may name a\n * prototype-reaching key, so a reference can never be used to walk out of the\n * payload and into `Object.prototype`.\n */\nexport const taskPayloadPointerV1Schema = z.string()\n .min(2)\n .max(256)\n .regex(/^(?:\\/(?:[^~/]|~[01])*)+$/, \"expected an RFC 6901 JSON pointer such as \\\"/body\\\"\")\n .superRefine((pointer, context) => {\n for (const segment of decodeJsonPointer(pointer)) {\n if (isPrototypePollutingKey(segment)) {\n context.addIssue({ code: \"custom\", message: `pointer segment \"${segment}\" is not addressable` });\n }\n }\n });\n\n/** Payload keys a plan owns, which a model may never supply or reference. */\nconst reservedPayloadKeys = [\"schemaVersion\", \"id\", \"repository\", \"kind\"] as const;\nconst reservedPayloadKeySet: ReadonlySet<string> = new Set(reservedPayloadKeys);\n\nexport type TaskJsonValueV1 =\n | string\n | number\n | boolean\n | null\n | readonly TaskJsonValueV1[]\n | { readonly [key: string]: TaskJsonValueV1 };\n\nconst MAX_PAYLOAD_DEPTH = 12;\nconst MAX_PAYLOAD_BYTES = 1_024 * 1_024;\nconst MAX_PAYLOAD_NODES = 100_000;\n\nconst taskJsonValueV1Schema: z.ZodType<TaskJsonValueV1> = z.lazy(() => z.union([\n z.string(),\n z.number().finite(),\n z.boolean(),\n z.null(),\n z.array(taskJsonValueV1Schema),\n z.record(z.string(), taskJsonValueV1Schema),\n]));\n\n/**\n * Byte length of the canonical JSON encoding, which is what gets hashed and\n * shipped. Returns `null` for anything JSON cannot encode (a cycle, or a\n * structure deep enough to overflow the serializer) so callers can fail closed\n * instead of catching a `RangeError` from inside a validator.\n */\nexport function canonicalJsonByteLength(value: unknown): number | null {\n try {\n const encoded = JSON.stringify(value);\n if (encoded === undefined) return null;\n return new TextEncoder().encode(encoded).length;\n } catch {\n return null;\n }\n}\n\n/**\n * Iterative structural gate run *before* any recursive schema touches the\n * value.\n *\n * Zod validates a recursive union by recursing, and `JSON.stringify` recurses\n * too, so a sufficiently nested payload throws `RangeError` out of `safeParse`\n * before a depth check written as a `superRefine` ever executes. Walking the\n * value with an explicit stack is what makes \"too deep\" a validation failure\n * rather than a crash.\n */\nfunction inspectJsonStructure(root: unknown): readonly string[] {\n const issues: string[] = [];\n const ancestors = new Set<object>();\n const stack: { value: unknown; depth: number; enter: boolean }[] = [{ value: root, depth: 1, enter: true }];\n let nodes = 0;\n\n while (stack.length > 0) {\n const frame = stack.pop() as { value: unknown; depth: number; enter: boolean };\n const { value, depth } = frame;\n\n if (!frame.enter) {\n ancestors.delete(value as object);\n continue;\n }\n if (issues.length > 0) break;\n\n nodes += 1;\n if (nodes > MAX_PAYLOAD_NODES) {\n issues.push(`payload contains more than ${MAX_PAYLOAD_NODES} values`);\n break;\n }\n if (depth > MAX_PAYLOAD_DEPTH) {\n issues.push(`payload nests deeper than ${MAX_PAYLOAD_DEPTH} levels`);\n break;\n }\n\n if (value === null) continue;\n const type = typeof value;\n if (type === \"string\" || type === \"boolean\") continue;\n if (type === \"number\") {\n if (!Number.isFinite(value)) issues.push(\"payload contains a non-finite number\");\n continue;\n }\n if (type !== \"object\") {\n issues.push(`payload contains a ${type} value, which JSON cannot represent`);\n continue;\n }\n\n const container = value as object;\n if (ancestors.has(container)) {\n issues.push(\"payload contains a circular reference\");\n break;\n }\n ancestors.add(container);\n stack.push({ value: container, depth, enter: false });\n\n if (Array.isArray(container)) {\n for (const item of container) stack.push({ value: item, depth: depth + 1, enter: true });\n continue;\n }\n for (const key of Reflect.ownKeys(container)) {\n if (typeof key === \"symbol\") {\n issues.push(\"payload contains a symbol key, which JSON cannot represent\");\n break;\n }\n if (isPrototypePollutingKey(key)) {\n issues.push(`payload may not contain the key \"${key}\"`);\n break;\n }\n stack.push({ value: (container as Record<string, unknown>)[key], depth: depth + 1, enter: true });\n }\n }\n return issues;\n}\n\n/**\n * The model-authored field set of one operation, minus everything the plan\n * owns.\n *\n * The iterative gate runs first through a pipe so a hostile value is rejected\n * before the recursive typed parse can recurse into it. File contents never\n * travel here; they are materialized at apply time from the capture artifact.\n */\nexport const taskEffectPayloadV1Schema = z.unknown()\n .superRefine((payload, context) => {\n if (payload === null || typeof payload !== \"object\" || Array.isArray(payload)) {\n context.addIssue({ code: \"custom\", message: \"payload must be a JSON object\" });\n return;\n }\n for (const message of inspectJsonStructure(payload)) {\n context.addIssue({ code: \"custom\", message });\n return;\n }\n for (const key of Object.keys(payload)) {\n if (reservedPayloadKeySet.has(key)) {\n context.addIssue({ code: \"custom\", path: [key], message: `payload may not set the plan-owned field ${key}` });\n }\n }\n const bytes = canonicalJsonByteLength(payload);\n if (bytes === null) {\n context.addIssue({ code: \"custom\", message: \"payload cannot be canonically serialized\" });\n return;\n }\n if (bytes > MAX_PAYLOAD_BYTES) {\n context.addIssue({ code: \"custom\", message: `payload exceeds ${MAX_PAYLOAD_BYTES} bytes` });\n }\n })\n .pipe(z.record(z.string().max(64), taskJsonValueV1Schema));\n\n/** Typed pointer from an earlier step's scalar output. */\nexport const taskStepOutputRefV1Schema = z.strictObject({\n step: taskStepNameV1Schema,\n output: taskOutputNameV1Schema,\n});\nexport type TaskStepOutputRefV1 = z.infer<typeof taskStepOutputRefV1Schema>;\n\nconst MAX_STEP_REFERENCES = 32;\nconst MAX_FIELD_PLACEHOLDERS = 8;\nconst placeholderNamePattern = \"[a-z][a-z0-9_]{0,31}\";\n\n/** Name of a placeholder, written in text as `{{name}}`. */\nexport const taskPlaceholderNameV1Schema = z.string().regex(new RegExp(`^${placeholderNamePattern}$`));\n\n/**\n * Earlier-step outputs spliced into model-written text. The text at the\n * reference's pointer contains `{{name}}` for each placeholder, and apply\n * replaces every occurrence with the output's value.\n */\nexport const taskStepTemplateRefV1Schema = z.strictObject({\n placeholders: z.record(taskPlaceholderNameV1Schema, taskStepOutputRefV1Schema).superRefine((placeholders, context) => {\n const count = Object.keys(placeholders).length;\n if (count === 0 || count > MAX_FIELD_PLACEHOLDERS) {\n context.addIssue({ code: \"custom\", message: `a field may declare between 1 and ${MAX_FIELD_PLACEHOLDERS} placeholders` });\n }\n }),\n});\nexport type TaskStepTemplateRefV1 = z.infer<typeof taskStepTemplateRefV1Schema>;\n\n/** A whole-field output, or outputs spliced into text at that field. */\nexport const taskStepReferenceV1Schema = z.union([taskStepOutputRefV1Schema, taskStepTemplateRefV1Schema]);\nexport type TaskStepReferenceV1 = z.infer<typeof taskStepReferenceV1Schema>;\n\nexport function isTemplateReference(reference: TaskStepReferenceV1): reference is TaskStepTemplateRefV1 {\n return Object.hasOwn(reference, \"placeholders\");\n}\n\n/** Every earlier-step output a reference consumes, with the placeholder it fills, if any. */\nexport function referenceOutputs(\n reference: TaskStepReferenceV1,\n): ReadonlyArray<{ readonly placeholder?: string; readonly output: TaskStepOutputRefV1 }> {\n return isTemplateReference(reference)\n ? Object.entries(reference.placeholders).map(([placeholder, output]) => ({ placeholder, output }))\n : [{ output: reference }];\n}\n\n/** The text form of a placeholder. */\nexport function placeholderToken(name: string): string {\n return `{{${name}}}`;\n}\n\n/**\n * Replaces each `{{name}}` that has a value, in one pass over the original\n * text, so a substituted value is never itself scanned for placeholders.\n * Anything else in braces is left as written.\n */\nexport function renderPlaceholders(template: string, values: ReadonlyMap<string, string>): string {\n return template.replace(new RegExp(`\\\\{\\\\{(${placeholderNamePattern})\\\\}\\\\}`, \"g\"), (token, name: string) =>\n values.get(name) ?? token);\n}\n\n/**\n * Substitutions applied to a payload immediately before the step runs, keyed by\n * the JSON pointer they fill. Kept out of the payload itself so an unresolved\n * reference can never be mistaken for a literal value.\n */\nexport const taskStepReferencesV1Schema = z.record(taskPayloadPointerV1Schema, taskStepReferenceV1Schema)\n .superRefine((references, context) => {\n const pointers = Object.keys(references);\n const outputs = Object.values(references).reduce((total, reference) => total + referenceOutputs(reference).length, 0);\n if (outputs > MAX_STEP_REFERENCES) {\n context.addIssue({ code: \"custom\", message: `a step may reference at most ${MAX_STEP_REFERENCES} earlier-step outputs` });\n }\n // One reference inside another would be read before substitution when\n // planning but after it when applying, so the two could disagree.\n for (const pointer of pointers) {\n const enclosing = pointers.find((other) => other !== pointer && pointer.startsWith(`${other}/`));\n if (enclosing !== undefined) {\n context.addIssue({ code: \"custom\", path: [pointer], message: `reference ${pointer} is inside reference ${enclosing}` });\n }\n }\n for (const pointer of pointers) {\n const [head] = decodeJsonPointer(pointer);\n if (head !== undefined && reservedPayloadKeySet.has(head)) {\n context.addIssue({ code: \"custom\", path: [pointer], message: `references may not target the plan-owned field ${head}` });\n }\n }\n });\n\n/** Splits an RFC 6901 pointer into decoded segments. */\nexport function decodeJsonPointer(pointer: string): readonly string[] {\n return pointer.split(\"/\").slice(1).map((segment) => segment.replace(/~1/g, \"/\").replace(/~0/g, \"~\"));\n}\n\n/** Renders a Zod issue path as an RFC 6901 pointer so it can be matched against references. */\nexport function encodeJsonPointer(path: readonly PropertyKey[]): string {\n return path.map((segment) => `/${String(segment).replace(/~/g, \"~0\").replace(/\\//g, \"~1\")}`).join(\"\");\n}\n\n/**\n * One ordered step exactly as the model proposed it.\n *\n * There is deliberately no `operationId`: an id the model chose would not be\n * derivable from the run, and a model that can choose ids can collide with a\n * previous attempt's receipt and suppress a real effect. Gardener derives every\n * id from the run, the step order, the step name, and the canonical payload.\n */\nexport const taskEffectProposalV1Schema = z.strictObject({\n stepName: taskStepNameV1Schema,\n kind: taskEffectKindV1Schema,\n payload: taskEffectPayloadV1Schema,\n references: taskStepReferencesV1Schema.default({}),\n rationale: z.string().trim().min(1).max(5_000),\n}).superRefine((proposal, context) => {\n // Repository file bytes are capture-owned. A proposal must omit them, and\n // trying to supply them is refused here rather than silently accepted as a\n // second, capture-free way to write a commit.\n for (const message of captureOwnedPointerIssues(proposal.kind, proposal.payload, proposal.references)) {\n context.addIssue({ code: \"custom\", path: [\"payload\"], message });\n }\n // Those same pointers are always deferred, so the probe validates every\n // field the model did supply while staying silent about the one only a\n // trusted capture may fill. Omission is not permission: the plan still\n // refuses to carry such a step unless a real capture was admitted.\n for (const issue of probeOperationShape({\n ...proposal,\n deferredPointers: captureDeferredPointers(proposal.kind),\n })) {\n context.addIssue({ code: \"custom\", path: [\"payload\"], message: issue });\n }\n});\nexport type TaskEffectProposalV1 = z.infer<typeof taskEffectProposalV1Schema>;\n\n\n/* -------------------------------------------------------------------------- */\n/* Probe validation */\n/* -------------------------------------------------------------------------- */\n\nconst PROBE_REPOSITORY = { provider: \"github\", id: \"1\", owner: \"gardener\", name: \"probe\", defaultBranch: \"main\" } as const;\nconst PROBE_OPERATION_ID = \"gardener-probe\";\nconst PROBE_UNTYPED_SENTINEL = \"gardener-step-output\";\n\n/**\n * Highest array index a reference pointer may address.\n *\n * Operation payload arrays are small and already bounded by `operationSchema`:\n * the largest are `commit.create.files`, `pull_request.review.submit.comments`,\n * and `pull_request.merge.requiredChecks` at 100 entries, and\n * `pull_request.reviewer.*.reviewerIds` at 15. An index past the largest of\n * those can never address a valid location, so refusing it costs nothing.\n *\n * Without this bound a pointer is a memory amplifier: `/files/999999999`\n * makes `setPointer` materialize a sparse array whose length the operation\n * schema then walks, so a single short model-authored string turns into a\n * multi-gigabyte parse. Measured before this guard: `/files/1000000` returned\n * 1,000,001 issues, and `/files/999999999` exhausted the heap and killed the\n * process from inside `safeParse`.\n */\nconst MAX_POINTER_ARRAY_INDEX = 99;\n\n/**\n * Highest number of probe messages one step reports.\n *\n * A payload may legitimately carry thousands of values, and a single wrong\n * element type can make the operation schema report an issue for every one of\n * them. The proposal only needs enough detail to be repaired, and an unbounded\n * issue list is itself the denial-of-service, so the list is truncated and the\n * truncation is stated.\n */\nconst MAX_PROBE_MESSAGES = 32;\n\n/**\n * Reads the value at an RFC 6901 pointer using own properties only, or\n * `undefined` when the pointer does not address a present value.\n */\nexport function readPayloadPointer(root: unknown, pointer: string): unknown {\n const segments = decodeJsonPointer(pointer);\n if (segments.length === 0 || segments.some(isPrototypePollutingKey)) return undefined;\n let cursor: unknown = root;\n for (const segment of segments) {\n if (Array.isArray(cursor)) {\n const position = arrayIndex(segment);\n if (position === null) return undefined;\n cursor = cursor[position];\n } else if (cursor !== null && typeof cursor === \"object\" && Object.hasOwn(cursor, segment)) {\n cursor = (cursor as Record<string, unknown>)[segment];\n } else {\n return undefined;\n }\n }\n return cursor;\n}\n\n/**\n * Writes a value at a pointer inside a throwaway probe object.\n *\n * Every segment is refused if it can reach the prototype chain, traversal only\n * follows *own* properties, and intermediates are created with a null\n * prototype. A pointer is attacker-controlled text, so a plain `record[segment]`\n * walk here would let `/__proto__/x` write to `Object.prototype` and corrupt\n * every later parse in the process, including Zod's own internals.\n */\nfunction setPointer(root: Record<string, unknown>, segments: readonly string[], value: unknown): boolean {\n if (segments.length === 0) return false;\n if (segments.some(isPrototypePollutingKey)) return false;\n\n let cursor: unknown = root;\n for (let index = 0; index < segments.length - 1; index += 1) {\n const segment = segments[index] as string;\n const lookahead = segments[index + 1] as string;\n const seed: unknown = /^(?:0|[1-9][0-9]*)$/.test(lookahead) ? [] : Object.create(null);\n if (Array.isArray(cursor)) {\n const position = arrayIndex(segment);\n if (position === null) return false;\n if (cursor[position] === undefined) cursor[position] = seed;\n cursor = cursor[position];\n continue;\n }\n if (cursor === null || typeof cursor !== \"object\") return false;\n const record = cursor as Record<string, unknown>;\n if (!Object.hasOwn(record, segment)) {\n Object.defineProperty(record, segment, { value: seed, writable: true, enumerable: true, configurable: true });\n }\n cursor = record[segment];\n }\n\n const last = segments[segments.length - 1] as string;\n if (Array.isArray(cursor)) {\n const position = arrayIndex(last);\n if (position === null) return false;\n cursor[position] = value;\n return true;\n }\n if (cursor === null || typeof cursor !== \"object\") return false;\n Object.defineProperty(cursor, last, { value, writable: true, enumerable: true, configurable: true });\n return true;\n}\n\n/**\n * Decodes an array position, refusing anything a real operation payload could\n * not hold. A refused index makes `setPointer` report that the pointer does\n * not address a payload location, which is the same outcome as any other\n * unaddressable pointer.\n */\nfunction arrayIndex(segment: string): number | null {\n if (!/^(?:0|[1-9][0-9]*)$/.test(segment)) return null;\n const position = Number(segment);\n if (!Number.isInteger(position) || position < 0 || position > MAX_POINTER_ARRAY_INDEX) return null;\n return position;\n}\n\n/**\n * Deep copy that keeps only JSON-shaped own data. Used instead of\n * `structuredClone` so the probe candidate is built from a known-safe shape\n * and never carries an inherited or exotic property into the parser.\n */\nfunction safeJsonClone(value: unknown, depth = 0): unknown {\n if (depth > MAX_PAYLOAD_DEPTH) return null;\n if (Array.isArray(value)) return value.map((item) => safeJsonClone(item, depth + 1));\n if (value === null || typeof value !== \"object\") return value;\n const copy: Record<string, unknown> = {};\n for (const key of Object.keys(value)) {\n if (isPrototypePollutingKey(key)) continue;\n copy[key] = safeJsonClone((value as Record<string, unknown>)[key], depth + 1);\n }\n return copy;\n}\n\nexport interface ProbeOperationShapeInput {\n readonly kind: TaskEffectKindV1;\n readonly payload: Readonly<Record<string, unknown>>;\n readonly references?: Readonly<Record<string, TaskStepReferenceV1>>;\n /**\n * Pointers whose value is supplied at apply time rather than by the model,\n * such as the `commit.create` file set materialized from the capture\n * artifact.\n */\n readonly deferredPointers?: readonly string[];\n /** Resolves a reference to its output type so a correctly-typed sentinel can be used. */\n readonly resolveOutputType?: (reference: TaskStepOutputRefV1) => OperationOutputType | undefined;\n}\n\n/**\n * Validates a proposed step against the real operation schema without waiting\n * for apply time.\n *\n * A pending reference has no value yet, so the probe fills it with a typed\n * sentinel and then discards any issue reported at or beneath a deferred\n * pointer. Discarding is what makes this sound: no sentinel can satisfy every\n * validator a field might carry (`draft` is `literal(true)` for one kind and\n * `literal(false)` for another), so correctness comes from ignoring those\n * positions, not from guessing them. Everything the model did supply is still\n * held to the exact contract.\n */\nexport function probeOperationShape(step: ProbeOperationShapeInput): readonly string[] {\n const messages: string[] = [];\n const candidate: Record<string, unknown> = {\n ...safeJsonClone(step.payload) as Record<string, unknown>,\n schemaVersion: \"v2\",\n id: PROBE_OPERATION_ID,\n repository: PROBE_REPOSITORY,\n kind: step.kind,\n };\n const deferred = new Set<string>(step.deferredPointers ?? []);\n const wholeField = new Set<string>();\n for (const [pointer, reference] of Object.entries(step.references ?? {})) {\n if (isTemplateReference(reference)) {\n // With every placeholder typed, the text is validated at the longest it\n // can render, so its field's own limits hold for any real value. Without\n // types (a proposal checked before its ledger is known) it is deferred\n // like a whole-field reference and validated once the types are known.\n const template = readPayloadPointer(step.payload, pointer);\n const lengths = new Map<string, string>();\n for (const [name, output] of Object.entries(reference.placeholders)) {\n const type = step.resolveOutputType?.(output);\n if (type !== undefined) lengths.set(name, \"x\".repeat(operationOutputRenderedMaxLength(type)));\n }\n if (typeof template === \"string\" && lengths.size === Object.keys(reference.placeholders).length) {\n if (!setPointer(candidate, decodeJsonPointer(pointer), renderPlaceholders(template, lengths))) {\n messages.push(`reference pointer ${pointer} does not address a payload location`);\n }\n } else {\n deferred.add(pointer);\n }\n continue;\n }\n deferred.add(pointer);\n wholeField.add(pointer);\n const type = step.resolveOutputType?.(reference);\n const sentinel = type === undefined ? PROBE_UNTYPED_SENTINEL : operationOutputSentinel(type);\n if (!setPointer(candidate, decodeJsonPointer(pointer), sentinel)) {\n messages.push(`reference pointer ${pointer} does not address a payload location`);\n }\n }\n\n // The probe runs against a model-authored value. Any throw here \u2014 a recursion\n // limit, or a validator that assumed a shape \u2014 would escape a `safeParse`\n // further out and turn a rejected proposal into a crashed run, so the whole\n // parse is contained and reported as a validation failure.\n let probed: ReturnType<typeof operationSchema.safeParse>;\n try {\n probed = operationSchema.safeParse(candidate);\n } catch (cause) {\n messages.push(`operation: payload could not be validated (${cause instanceof Error ? cause.name : \"unknown error\"})`);\n return messages;\n }\n if (probed.success) return messages;\n let suppressed = 0;\n for (const issue of probed.error.issues) {\n const pointer = encodeJsonPointer(issue.path);\n // Every output is a scalar, so a whole-field reference to a position that\n // must hold an object or an array can never materialize, whatever value\n // the step produces. Unlike other issues at a reference, that one is real.\n const scalarIntoStructure = wholeField.has(pointer)\n && issue.code === \"invalid_type\"\n && (issue.expected === \"object\" || issue.expected === \"array\" || issue.expected === \"record\");\n const isDeferred = pointer !== \"\"\n && [...deferred].some((prefix) => pointer === prefix || pointer.startsWith(`${prefix}/`));\n if (isDeferred && !scalarIntoStructure) continue;\n if (messages.length >= MAX_PROBE_MESSAGES) {\n suppressed += 1;\n continue;\n }\n messages.push(`${pointer === \"\" ? \"operation\" : pointer}: ${issue.message}`);\n }\n if (suppressed > 0) messages.push(`operation: ${suppressed} further problems were not reported`);\n return messages;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Repository change capture */\n/* -------------------------------------------------------------------------- */\n\n/** Blob modes Git records for a regular tree entry. Submodules are not capturable. */\nexport const taskCaptureFileModeV1Schema = z.enum([\"100644\", \"100755\", \"120000\"]);\n\n/**\n * Largest single captured file, in bytes.\n *\n * Every captured byte is eventually written through the Git Data blob\n * endpoint, and GitHub refuses a blob \u2014 and a pushed file \u2014 larger than\n * 100 MiB. A capture describing a larger file could never be applied, so the\n * manifest refuses it at plan time instead of failing mid-apply with part of\n * the plan already executed. This is the provider's number, not one invented\n * here.\n */\nexport const CAPTURE_FILE_MAX_BYTES = 100 * 1_024 * 1_024;\n\n/**\n * Largest total capture, in bytes.\n *\n * Derived rather than invented: the capture is applied through `commit.create`\n * steps, whose `files` array is capped at 100 entries by `operationSchema`, and\n * each entry is bounded by `CAPTURE_FILE_MAX_BYTES` above. The product is the\n * largest capture a single commit could ever materialize, so it is the widest\n * honest ceiling for the manifest and its ref.\n *\n * Note this intentionally does not encode a GitHub Actions artifact ceiling:\n * GitHub bounds artifacts by the account's storage quota rather than a fixed\n * documented per-artifact byte count, so citing one would be inventing it.\n */\nexport const CAPTURE_TOTAL_MAX_BYTES = 100 * CAPTURE_FILE_MAX_BYTES;\n\n/** Per-file byte count, bounded by what the provider will accept as one blob. */\nconst fileByteCount = z.number().int().nonnegative().max(CAPTURE_FILE_MAX_BYTES);\n\n/** Aggregate byte count, bounded by the largest capture a commit could apply. */\nconst captureByteCount = z.number().int().nonnegative().max(CAPTURE_TOTAL_MAX_BYTES);\n\n/**\n * Repository paths a captured change may never write.\n *\n * A `commit.create` step whose `files` are materialized from the capture never\n * lists those paths in its payload, so the instance policy's path check has\n * nothing to inspect at plan time. Writing a workflow, a composite action, or\n * the task definitions themselves would let a run rewrite the authority that\n * governs the next run, so those prefixes are refused in the manifest \u2014 the\n * one place where the full path set is known before anything is applied.\n */\nexport const protectedCapturePathPrefixes = [\n \".git/\",\n \".github/workflows/\",\n \".github/actions/\",\n \".gardener/\",\n] as const;\n\n/**\n * Exact protected files.\n *\n * CODEOWNERS decides who must approve a change, so a run that could rewrite it\n * could approve its own future work. GitHub resolves CODEOWNERS from exactly\n * three locations, so all three are refused. `dependabot.yml` is refused for\n * the same reason in a different guise: it directs an automation that opens\n * pull requests, so a run that could rewrite it could arrange future writes it\n * was never granted. Both spellings GitHub accepts are listed.\n */\nexport const protectedCapturePaths = [\n \"CODEOWNERS\",\n \".github/CODEOWNERS\",\n \".github/dependabot.yml\",\n \".github/dependabot.yaml\",\n \"docs/CODEOWNERS\",\n] as const;\n\n/**\n * True when a captured path would rewrite Gardener's or Actions' own authority.\n *\n * Matching is case-insensitive. A checkout on a case-insensitive filesystem\n * resolves `.GitHub/Workflows/ci.yml` to the same file as the protected path,\n * and GitHub itself treats the CODEOWNERS filename case-insensitively, so a\n * case-sensitive comparison here would be bypassable by changing one letter.\n */\nexport function isProtectedCapturePath(path: string): boolean {\n const normalized = path.toLowerCase();\n if (protectedCapturePaths.some((protectedPath) => normalized === protectedPath.toLowerCase())) return true;\n return protectedCapturePathPrefixes.some((prefix) => {\n const lowered = prefix.toLowerCase();\n return normalized === lowered.slice(0, -1) || normalized.startsWith(lowered);\n });\n}\n\n/**\n * One captured path. File bytes are deliberately absent: the manifest travels\n * inside the plan, which is read by the privileged apply job, while the bytes\n * stay in the separate changes artifact that is only ever streamed to the Git\n * Data API. A digest per file is what lets apply prove it wrote what planning\n * captured.\n */\nexport const taskCaptureFileV1Schema = z.discriminatedUnion(\"status\", [\n z.strictObject({\n path: relativePath,\n status: z.enum([\"added\", \"modified\"]),\n mode: taskCaptureFileModeV1Schema,\n sizeBytes: fileByteCount,\n sha256,\n }),\n z.strictObject({\n path: relativePath,\n status: z.literal(\"deleted\"),\n }),\n]);\nexport type TaskCaptureFileV1 = z.infer<typeof taskCaptureFileV1Schema>;\n\n/**\n * Per-path capture metadata, carried inside the plan.\n *\n * The file count shares `commit.create`'s `COMMIT_FILE_LIMIT`, so every\n * admitted capture can be materialized. The byte ceilings are the provider's\n * own (`CAPTURE_FILE_MAX_BYTES`) and the largest capture a commit could\n * materialize (`CAPTURE_TOTAL_MAX_BYTES`), and the manifest itself still has to\n * fit inside the plan's canonical transport ceiling alongside the task's\n * optional `maxEffectOperations` and `maxEffectBytes`.\n */\nexport const taskCaptureManifestV1Schema = z.strictObject({\n schemaVersion: z.literal(\"gardener.task-capture-manifest/v1\"),\n captureId: boundIdentifier,\n /** Commit the capture was taken against; apply refuses a drifted base. */\n baseSha: sha1,\n /**\n * Bounded by the number of files one `commit.create` may write. A larger\n * capture could never be materialized, so it is refused when the capture is\n * admitted, before a plan exists, rather than partway through apply.\n */\n files: z.array(taskCaptureFileV1Schema).min(1).max(COMMIT_FILE_LIMIT),\n totalBytes: captureByteCount,\n /**\n * A partial capture is never applicable, so the only representable value is\n * `false`. Capture that hits a limit must fail the run, not ship a subset of\n * the change the model believed it was making.\n */\n truncated: z.literal(false),\n}).superRefine((manifest, context) => {\n const paths = manifest.files.map((file) => file.path);\n if (new Set(paths).size !== paths.length) {\n context.addIssue({ code: \"custom\", path: [\"files\"], message: \"captured paths must be unique\" });\n }\n manifest.files.forEach((file, index) => {\n if (isProtectedCapturePath(file.path)) {\n context.addIssue({ code: \"custom\", path: [\"files\", index, \"path\"], message: `captured change may not write the protected path ${file.path}` });\n }\n });\n const measured = manifest.files.reduce((total, file) => total + (\"sizeBytes\" in file ? file.sizeBytes : 0), 0);\n if (measured !== manifest.totalBytes) {\n context.addIssue({ code: \"custom\", path: [\"totalBytes\"], message: \"totalBytes must equal the sum of captured file sizes\" });\n }\n});\nexport type TaskCaptureManifestV1 = z.infer<typeof taskCaptureManifestV1Schema>;\n\n/**\n * Canonical UTF-8 manifest text shared by capture, planning, and apply.\n *\n * Parsing first gives every participant the contract-owned shape and defaults;\n * recursively sorting object keys then makes the serialized bytes independent\n * of construction order. Keeping this here prevents an exact capture from\n * failing because two trust-boundary components serialized the same manifest\n * differently.\n */\nexport function taskCaptureManifestText(value: TaskCaptureManifestV1): string {\n const manifest = taskCaptureManifestV1Schema.parse(value);\n const stable = (entry: unknown): string => {\n if (entry === null || typeof entry !== \"object\") return JSON.stringify(entry) ?? \"null\";\n if (Array.isArray(entry)) return `[${entry.map(stable).join(\",\")}]`;\n const record = entry as Record<string, unknown>;\n return `{${Object.keys(record).sort().filter((key) => record[key] !== undefined)\n .map((key) => `${JSON.stringify(key)}:${stable(record[key])}`).join(\",\")}}`;\n };\n return stable(manifest);\n}\n\n/**\n * Canonical bytes covered by `changesSha256`.\n *\n * This definition lives in the portable contract so the planning runner, the\n * trusted Worker, and the checkout-free apply job cannot drift into hashing\n * subtly different path or metadata streams. Every field is length-prefixed,\n * making concatenation injective even when a path contains control bytes that\n * the repository-path contract permits.\n */\nexport function taskCaptureChangesDigestInput(manifest: TaskCaptureManifestV1): Uint8Array {\n const encoder = new TextEncoder();\n const chunks: Uint8Array[] = [];\n for (const file of manifest.files) {\n const fields = file.status === \"deleted\"\n ? [\"delete\", file.path]\n : [\"upsert\", file.path, file.mode, String(file.sizeBytes), file.sha256];\n for (const field of fields) {\n const bytes = encoder.encode(field);\n chunks.push(encoder.encode(`${bytes.byteLength}:`), bytes);\n }\n }\n const output = new Uint8Array(chunks.reduce((total, chunk) => total + chunk.byteLength, 0));\n let offset = 0;\n for (const chunk of chunks) {\n output.set(chunk, offset);\n offset += chunk.byteLength;\n }\n return output;\n}\n\n/**\n * Compact pointer to a capture, used where the full manifest is unnecessary\n * (tool results and receipts).\n */\nexport const taskCaptureRefV1Schema = z.strictObject({\n schemaVersion: z.literal(\"gardener.task-capture-ref/v1\"),\n captureId: boundIdentifier,\n baseSha: sha1,\n /** Digest of the canonical manifest JSON. */\n manifestSha256: sha256,\n /**\n * Digest of the canonical length-prefixed change stream binding each path,\n * status, mode, size, and content digest. This is independent of archive\n * container bytes so packaging cannot change the plan-bound identity.\n */\n changesSha256: sha256,\n fileCount: z.number().int().positive().max(Number.MAX_SAFE_INTEGER),\n sizeBytes: captureByteCount,\n});\nexport type TaskCaptureRefV1 = z.infer<typeof taskCaptureRefV1Schema>;\n\n\n/* -------------------------------------------------------------------------- */\n/* Event binding */\n/* -------------------------------------------------------------------------- */\n\n/**\n * The primary resource an event carried, if any. `push` and `schedule` carry\n * none, nor does a manual run without a target, which is why the binding is\n * nullable rather than invented.\n */\nexport const taskEventResourceV1Schema = z.discriminatedUnion(\"kind\", [\n z.strictObject({ kind: z.literal(\"issue\"), id: githubNumericId, number: z.number().int().positive() }),\n z.strictObject({ kind: z.literal(\"pull_request\"), id: githubNumericId, number: z.number().int().positive() }),\n z.strictObject({\n kind: z.literal(\"discussion\"),\n id: githubNumericId,\n number: z.number().int().positive(),\n nodeId: githubNodeId,\n }),\n]);\nexport type TaskEventResourceV1 = z.infer<typeof taskEventResourceV1Schema>;\n\n/**\n * Exactly what the triggering event was, carried into the plan so the apply job\n * can refuse a plan that does not belong to the event it was handed. The apply\n * job is checkout-free and cannot re-derive this itself.\n */\nexport const taskEventBindingV1Schema = z.strictObject({\n kind: z.enum(taskTriggerKindValues),\n eventName: normalizedEventNameV1Schema,\n action: z.string().min(1).max(64).nullable(),\n resource: taskEventResourceV1Schema.nullable(),\n /** Comment the event carried, when it carried one. */\n commentId: githubNumericId.nullable(),\n}).superRefine((binding, context) => {\n if (eventNameByTriggerKind[binding.kind] !== binding.eventName) {\n context.addIssue({ code: \"custom\", path: [\"eventName\"], message: \"eventName does not match the trigger kind\" });\n }\n if ((eventActionByTriggerKind[binding.kind] ?? null) !== binding.action) {\n context.addIssue({ code: \"custom\", path: [\"action\"], message: \"action does not match the trigger kind\" });\n }\n});\nexport type TaskEventBindingV1 = z.infer<typeof taskEventBindingV1Schema>;\n\n/**\n * The structural subset of an event a binding is derived from.\n *\n * Stated as a shape rather than as `NormalizedEventV1` so the apply job can\n * derive the identical binding from the bounded wire event it re-reads from\n * `GITHUB_EVENT_PATH`. Apply is checkout-free and never sees a normalized\n * event, and a second copy of this mapping living in the runner is exactly the\n * drift that would let a plan be applied against the wrong resource.\n */\n/**\n * Derives the binding from a normalized event so planning, apply, and tests all\n * produce byte-identical bindings instead of each reimplementing the mapping.\n */\nexport function taskEventBindingFromNormalizedEvent(event: NormalizedEventV1): TaskEventBindingV1 {\n const base = {\n kind: event.kind,\n eventName: eventNameByTriggerKind[event.kind],\n action: eventActionByTriggerKind[event.kind] ?? null,\n } as const;\n // A manual run's target is optional, so the key may be present but empty.\n const issue = \"issue\" in event ? event.issue : undefined;\n if (issue !== undefined) {\n return {\n ...base,\n resource: { kind: \"issue\", id: issue.id, number: issue.number },\n commentId: \"comment\" in event ? event.comment.id : null,\n };\n }\n const pullRequest = \"pullRequest\" in event ? event.pullRequest : undefined;\n if (pullRequest !== undefined) {\n return {\n ...base,\n resource: { kind: \"pull_request\", id: pullRequest.id, number: pullRequest.number },\n commentId: \"comment\" in event ? event.comment.id : null,\n };\n }\n if (\"discussion\" in event) {\n return {\n ...base,\n resource: {\n kind: \"discussion\",\n id: event.discussion.id,\n number: event.discussion.number,\n nodeId: event.discussion.nodeId,\n },\n commentId: \"comment\" in event ? event.comment.id : null,\n };\n }\n return { ...base, resource: null, commentId: null };\n}\n\n/* -------------------------------------------------------------------------- */\n/* Ordered effect plan */\n/* -------------------------------------------------------------------------- */\n\n/**\n * Pointers the trusted apply job fills from the run's capture artifact.\n *\n * These are repository file bytes. They never travel through the model, the\n * planning prompt, or the Worker: the unprivileged job captures the working\n * tree it produced, and the privileged checkout-free job streams those exact\n * bytes to the Git Data API. A model that could supply `/files` could commit\n * content no capture ever proved was in the repository, which is the whole\n * reason the write boundary exists.\n */\nexport const captureMaterializedPointers = {\n \"commit.create\": [\"/files\"],\n} as const satisfies Partial<Record<TaskEffectKindV1, readonly string[]>>;\n\n/**\n * Pointers this kind always defers to the capture.\n *\n * Unconditional by design. An earlier shape made deferral depend on whether\n * the payload happened to omit the field, which quietly made a model-inlined\n * file set a legitimate, capture-free commit. There is no such mode: the\n * pointer is capture-owned for every `commit.create`, and supplying it is an\n * error rather than an alternative.\n *\n * Exported because the proposal schema, the plan schema, and the runtime all\n * have to agree; two copies of this rule would eventually disagree about\n * whether a step needs a capture.\n */\nexport function captureDeferredPointers(kind: TaskEffectKindV1): readonly string[] {\n return (captureMaterializedPointers as Record<string, readonly string[]>)[kind] ?? [];\n}\n\n/**\n * Reports any attempt to supply a capture-owned pointer.\n *\n * Both routes are closed: writing the field into the payload, and pointing a\n * step reference at it. A reference would be just as effective at smuggling a\n * value into a location only the capture may fill, and the probe deliberately\n * suppresses issues beneath referenced pointers, so it cannot catch this.\n */\nfunction captureOwnedPointerIssues(\n kind: TaskEffectKindV1,\n payload: unknown,\n references: Readonly<Record<string, TaskStepReferenceV1>> = {},\n): readonly string[] {\n const pointers = captureDeferredPointers(kind);\n if (pointers.length === 0) return [];\n const messages: string[] = [];\n const record = payload !== null && typeof payload === \"object\" && !Array.isArray(payload)\n ? payload as Record<string, unknown>\n : {};\n const referenced = new Set(Object.keys(references).map((pointer) => decodeJsonPointer(pointer)[0]));\n for (const pointer of pointers) {\n const [head] = decodeJsonPointer(pointer);\n if (head === undefined) continue;\n if (Object.hasOwn(record, head)) {\n messages.push(\n `${pointer} is materialized from the trusted repository capture and may not be supplied by the task`,\n );\n }\n if (referenced.has(head)) {\n messages.push(`${pointer} is materialized from the trusted repository capture and may not be referenced`);\n }\n }\n return messages;\n}\n\n/** One step of an ordered plan, with the id Gardener derived for it. */\nexport const taskEffectPlanOperationV1Schema = z.strictObject({\n stepName: taskStepNameV1Schema,\n /** Derived from run id, step order, step name, and canonical payload. Never model-supplied. */\n operationId: boundIdentifier,\n kind: taskEffectKindV1Schema,\n payload: taskEffectPayloadV1Schema,\n references: taskStepReferencesV1Schema.default({}),\n rationale: z.string().trim().min(1).max(5_000),\n});\nexport type TaskEffectPlanOperationV1 = z.infer<typeof taskEffectPlanOperationV1Schema>;\n\n/**\n * Single serialized-byte ceiling shared by the effect plan and its receipt.\n *\n * This is the one technical bound on how much a run may hand across the\n * planning/apply boundary. There is deliberately no ceiling on the *number* of\n * operations: a task that legitimately needs forty labelled steps should not be\n * truncated by a count invented here, and a byte ceiling bounds the same\n * resource honestly. `@gardener/protocol` restates this value for the wire\n * artifact; the two are asserted equal by test because the protocol package has\n * no dependency on contracts.\n */\nexport const EFFECT_TRANSPORT_MAX_BYTES = 4 * 1_024 * 1_024;\n\nexport interface TaskStepIssueV1 {\n /** Path within the step, for example `[\"references\", \"/body\"]` or `[\"payload\"]`. */\n readonly path: readonly string[];\n readonly message: string;\n}\n\nexport interface TaskStepContextV1 {\n /** Kinds of the steps that run before this one, by step name. */\n readonly earlier: ReadonlyMap<string, OperationKind>;\n /** Names of steps that run after this one, used only to explain a forward reference. */\n readonly later?: ReadonlySet<string>;\n}\n\nfunction referencedOutputType(\n reference: TaskStepOutputRefV1,\n stepName: string,\n context: TaskStepContextV1,\n path: readonly string[],\n issues: TaskStepIssueV1[],\n): OperationOutputType | undefined {\n if (reference.step === stepName) {\n issues.push({ path, message: \"a step cannot reference its own output\" });\n return undefined;\n }\n const targetKind = context.earlier.get(reference.step);\n if (targetKind === undefined) {\n issues.push({\n path,\n message: context.later?.has(reference.step)\n ? `step \"${reference.step}\" does not run before this step`\n : `unknown step \"${reference.step}\"`,\n });\n return undefined;\n }\n const outputType = operationOutputType(targetKind, reference.output);\n if (outputType === undefined) {\n issues.push({\n path,\n message: `${targetKind} does not publish a scalar output named \"${reference.output}\"; `\n + `it publishes ${operationOutputNames(targetKind).map((name) => `\"${name}\"`).join(\", \")}`,\n });\n }\n return outputType;\n}\n\n/**\n * Every problem with one step given the steps before it: references that name\n * an unknown, later, or self step or an unpublished output; capture-owned\n * fields; and the payload's operation shape with each reference typed by the\n * output it resolves to.\n *\n * Planning and proposal admission share this, so a proposal the Worker admits\n * is one the finished plan will accept, and a model that references a missing\n * output is told while it can still correct the step.\n */\nexport function taskStepIssues(\n step: Pick<TaskEffectPlanOperationV1, \"stepName\" | \"kind\" | \"payload\" | \"references\">,\n context: TaskStepContextV1,\n): TaskStepIssueV1[] {\n const issues: TaskStepIssueV1[] = [];\n const resolvedTypes = new Map<string, OperationOutputType>();\n const outputKey = (output: TaskStepOutputRefV1) => `${output.step}\\u0000${output.output}`;\n for (const [pointer, reference] of Object.entries(step.references)) {\n for (const { placeholder, output: reference_ } of referenceOutputs(reference)) {\n const path = placeholder === undefined ? [\"references\", pointer] : [\"references\", pointer, \"placeholders\", placeholder];\n const outputType = referencedOutputType(reference_, step.stepName, context, path, issues);\n if (outputType === undefined) continue;\n if (placeholder !== undefined && outputType === \"nullableGithubId\") {\n issues.push({ path, message: `\"${reference_.output}\" may be null and cannot fill a placeholder` });\n continue;\n }\n resolvedTypes.set(outputKey(reference_), outputType);\n }\n if (isTemplateReference(reference)) {\n const template = readPayloadPointer(step.payload, pointer);\n if (typeof template !== \"string\") {\n issues.push({ path: [\"payload\", ...decodeJsonPointer(pointer)], message: \"a field with placeholders must be text written in the payload\" });\n continue;\n }\n for (const name of Object.keys(reference.placeholders)) {\n if (!template.includes(placeholderToken(name))) {\n issues.push({ path: [\"references\", pointer, \"placeholders\", name], message: `the text at ${pointer} does not contain ${placeholderToken(name)}` });\n }\n }\n }\n }\n\n for (const message of captureOwnedPointerIssues(step.kind, step.payload, step.references)) {\n issues.push({ path: [\"payload\"], message });\n }\n for (const message of probeOperationShape({\n kind: step.kind,\n payload: step.payload,\n references: step.references,\n deferredPointers: captureDeferredPointers(step.kind),\n resolveOutputType: (reference) => resolvedTypes.get(outputKey(reference)),\n })) {\n issues.push({ path: [\"payload\"], message });\n }\n return issues;\n}\n\n/**\n * Exact, hashable, ordered handoff consumed by the checkout-free effects job.\n *\n * There is no Gardener-imposed ceiling on the number of operations. The bounds\n * that apply are the task's own optional `maxEffectOperations` and\n * `maxEffectBytes`, the unconditional `EFFECT_TRANSPORT_MAX_BYTES` transport\n * ceiling enforced below, and the provider's own rate limits. A plan with zero\n * operations is valid and normal: an inspect-only run produces one.\n */\nexport const taskEffectPlanV1Schema = z.strictObject({\n schemaVersion: z.literal(\"gardener.task-effect-plan/v1\"),\n runId: boundIdentifier,\n taskId: identifier,\n taskName: z.string().trim().min(1).max(100),\n bundleHash: sha256,\n /**\n * Repository identity every operation in this plan is constructed from.\n *\n * `defaultBranch` travels in the plan rather than being read back at apply\n * time because it is part of the canonical operation hash. Re-fetching a\n * mutable value would let the same plan hash differently on a retry.\n */\n repository: z.strictObject({\n id: githubNumericId,\n fullName: repositoryFullName,\n defaultBranch: z.string().trim().min(1).max(255),\n }),\n provenance: z.strictObject({\n sourcePath: relativePath,\n commitSha: sha1,\n /**\n * The commit the planning job checked out, when it is not `commitSha`:\n * a pull request's head, for tasks that commit to pull request branches.\n */\n checkoutSha: sha1.optional(),\n workflowRunId: githubNumericId,\n workflowRunAttempt: z.number().int().positive(),\n }),\n event: taskEventBindingV1Schema,\n /** Copied from the bundle so apply enforces the same ceilings planning did. */\n limits: z.strictObject({\n maxEffectOperations: z.number().int().positive().max(1_000).optional(),\n maxEffectBytes: z.number().int().min(1_024).max(50_000_000).optional(),\n }),\n /**\n * Copied from the bundle so apply enforces the same branch patterns planning\n * did. Absent when every branch-writing kind keeps the `gardener/**` default.\n */\n branchPatterns: taskBranchPatternsV1Schema.optional(),\n /** Present only when a step materializes repository changes at apply time. */\n capture: taskCaptureManifestV1Schema.optional(),\n /** Digest of the changes artifact the capture manifest describes. */\n changesSha256: sha256.optional(),\n operations: z.array(taskEffectPlanOperationV1Schema),\n}).superRefine((plan, context) => {\n const indexByStepName = new Map<string, number>();\n plan.operations.forEach((operation, index) => {\n if (indexByStepName.has(operation.stepName)) {\n context.addIssue({ code: \"custom\", path: [\"operations\", index, \"stepName\"], message: \"step names must be unique within a plan\" });\n return;\n }\n indexByStepName.set(operation.stepName, index);\n });\n\n const operationIds = plan.operations.map((operation) => operation.operationId);\n if (new Set(operationIds).size !== operationIds.length) {\n context.addIssue({ code: \"custom\", path: [\"operations\"], message: \"operation IDs must be unique within a plan\" });\n }\n\n let anyStepDefersToCapture = false;\n\n plan.operations.forEach((operation, index) => {\n const earlier = new Map(plan.operations.slice(0, index).map((candidate) => [candidate.stepName, candidate.kind] as const));\n const later = new Set(plan.operations.slice(index + 1).map((candidate) => candidate.stepName));\n for (const issue of taskStepIssues(operation, { earlier, later })) {\n context.addIssue({ code: \"custom\", path: [\"operations\", index, ...issue.path], message: issue.message });\n }\n if (captureDeferredPointers(operation.kind).length > 0) anyStepDefersToCapture = true;\n });\n\n const { maxEffectOperations, maxEffectBytes } = plan.limits;\n if (maxEffectOperations !== undefined && plan.operations.length > maxEffectOperations) {\n context.addIssue({\n code: \"custom\",\n path: [\"operations\"],\n message: `plan has ${plan.operations.length} operations but the task allows at most ${maxEffectOperations}`,\n });\n }\n const operationBytes = canonicalJsonByteLength(plan.operations);\n if (operationBytes === null) {\n context.addIssue({ code: \"custom\", path: [\"operations\"], message: \"plan operations cannot be canonically serialized\" });\n } else if (maxEffectBytes !== undefined && operationBytes > maxEffectBytes) {\n context.addIssue({\n code: \"custom\",\n path: [\"operations\"],\n message: `plan operations serialize to ${operationBytes} bytes but the task allows at most ${maxEffectBytes}`,\n });\n }\n\n // The transport ceiling is unconditional. A task that declares no\n // `maxEffectBytes` still cannot emit a plan the effect artifact could not\n // carry, and there is no operation-count cap standing in for it, so this is\n // the single technical bound on plan size.\n const planBytes = canonicalJsonByteLength(plan);\n if (planBytes === null) {\n context.addIssue({ code: \"custom\", message: \"plan cannot be canonically serialized\" });\n } else if (planBytes > EFFECT_TRANSPORT_MAX_BYTES) {\n context.addIssue({\n code: \"custom\",\n message: `plan serializes to ${planBytes} bytes but the effect artifact carries at most ${EFFECT_TRANSPORT_MAX_BYTES}`,\n });\n }\n\n if ((plan.capture === undefined) !== (plan.changesSha256 === undefined)) {\n context.addIssue({ code: \"custom\", path: [\"changesSha256\"], message: \"capture manifest and changes digest must be present together\" });\n }\n if (anyStepDefersToCapture && plan.capture === undefined) {\n context.addIssue({ code: \"custom\", path: [\"capture\"], message: \"a step materializes repository changes but the plan carries no capture manifest\" });\n }\n if (!anyStepDefersToCapture && plan.capture !== undefined) {\n context.addIssue({ code: \"custom\", path: [\"capture\"], message: \"the plan carries a capture manifest that no step materializes\" });\n }\n if (plan.provenance.checkoutSha === plan.provenance.commitSha) {\n context.addIssue({ code: \"custom\", path: [\"provenance\", \"checkoutSha\"], message: \"checkoutSha is given only when it differs from commitSha\" });\n }\n if (plan.capture !== undefined && plan.capture.baseSha !== (plan.provenance.checkoutSha ?? plan.provenance.commitSha)) {\n context.addIssue({ code: \"custom\", path: [\"capture\", \"baseSha\"], message: \"capture base must equal the checked-out commit\" });\n }\n\n if (plan.branchPatterns !== undefined && Object.values(plan.branchPatterns).every((patterns) => patterns === undefined)) {\n context.addIssue({ code: \"custom\", path: [\"branchPatterns\"], message: \"branchPatterns must be omitted when every kind keeps its default\" });\n }\n plan.operations.forEach((operation, index) => {\n if (isBranchWriteKind(operation.kind)) {\n const field = branchWriteFields[operation.kind];\n const branch = (operation.payload as Record<string, unknown>)[field];\n // A referenced branch is only known at apply, which checks it there.\n if (operation.references[`/${field}`] === undefined && typeof branch === \"string\") {\n const refusal = branchWriteRefusal(\n operation.kind,\n branch,\n plan.branchPatterns?.[operation.kind] ?? DEFAULT_WRITE_BRANCHES,\n plan.repository.defaultBranch,\n );\n if (refusal !== undefined) context.addIssue({ code: \"custom\", path: [\"operations\", index, \"payload\", field], message: refusal });\n }\n }\n if (operation.kind === \"commit.create\" && plan.capture !== undefined) {\n const refusal = commitBaseRefusal(operation, plan.operations.slice(0, index), plan.capture.baseSha);\n if (refusal !== undefined) context.addIssue({ code: \"custom\", path: [\"operations\", index, \"payload\", \"expectedHeadSha\"], message: refusal });\n }\n });\n});\nexport type TaskEffectPlanV1 = z.infer<typeof taskEffectPlanV1Schema>;\n\nexport const taskObservationV1Schema = z.strictObject({\n kind: z.enum([\"repository\", \"event\", \"test\", \"diagnostic\"]),\n summary: z.string().trim().min(1).max(8_000),\n paths: z.array(relativePath).max(100).default([]),\n});\nexport type TaskObservationV1 = z.infer<typeof taskObservationV1Schema>;\n\nconst taskOutcomeBase = {\n schemaVersion: z.literal(\"gardener.task-outcome/v1\"),\n runId: boundIdentifier,\n taskId: identifier,\n bundleHash: sha256,\n};\n\nexport const taskOutcomeV1Schema = z.discriminatedUnion(\"status\", [\n z.strictObject({\n ...taskOutcomeBase,\n status: z.literal(\"completed\"),\n summary: z.string().trim().min(1).max(32_000),\n observations: z.array(taskObservationV1Schema).max(200),\n /**\n * Ordered steps the model proposes, in the order it wants them applied.\n * Unbounded by count for the same reason the plan is: the task's own\n * `maxEffectOperations` is the ceiling that matters, and an empty list is\n * the normal result of an inspect-only run.\n */\n proposedEffects: z.array(taskEffectProposalV1Schema),\n }),\n z.strictObject({\n ...taskOutcomeBase,\n status: z.literal(\"failed\"),\n error: z.strictObject({ code: identifier, message: z.string().min(1).max(8_000), retryable: z.boolean() }),\n }),\n z.strictObject({\n ...taskOutcomeBase,\n status: z.literal(\"cancelled\"),\n reason: z.string().min(1).max(8_000),\n }),\n]);\nexport type TaskOutcomeV1 = z.infer<typeof taskOutcomeV1Schema>;\n", "/** JSON serialization with recursively sorted object keys and omitted undefined properties. */\nexport function canonicalJson(value: unknown): string {\n if (value === null || typeof value !== \"object\") return JSON.stringify(value) ?? \"null\";\n if (Array.isArray(value)) return `[${value.map(canonicalJson).join(\",\")}]`;\n const record = value as Record<string, unknown>;\n return `{${Object.keys(record).sort().filter((key) => record[key] !== undefined).map((key) => `${JSON.stringify(key)}:${canonicalJson(record[key])}`).join(\",\")}}`;\n}\n\nexport async function canonicalSha256(value: unknown): Promise<string> {\n const digest = await crypto.subtle.digest(\"SHA-256\", new TextEncoder().encode(canonicalJson(value)));\n return Array.from(new Uint8Array(digest), (byte) => byte.toString(16).padStart(2, \"0\")).join(\"\");\n}\n\nexport function deepFreeze<T>(value: T): Readonly<T> {\n if (value !== null && typeof value === \"object\" && !Object.isFrozen(value)) {\n for (const child of Object.values(value as Record<string, unknown>)) deepFreeze(child);\n Object.freeze(value);\n }\n return value;\n}\n", "export interface ActionsEnrollment {\n repositoryId: string;\n ownerId: string;\n ownerLogin: string;\n repositoryName: string;\n visibility: \"public\" | \"private\" | \"internal\";\n workflowRef: string;\n audience: string;\n}\n\nexport function actionsEnrollmentSql(input: ActionsEnrollment): string {\n validateNumericId(input.repositoryId, \"repository id\");\n validateNumericId(input.ownerId, \"owner id\");\n validateName(input.ownerLogin, \"owner login\");\n validateName(input.repositoryName, \"repository name\");\n validateWorkflowRef(input.workflowRef);\n validateAudience(input.audience);\n if (![\"public\", \"private\", \"internal\"].includes(input.visibility)) {\n throw new Error(`Unsupported repository visibility: ${input.visibility}`);\n }\n const values = [\n input.repositoryId,\n input.ownerId,\n input.ownerLogin,\n input.repositoryName,\n input.visibility,\n input.workflowRef,\n input.workflowRef,\n input.audience,\n ].map(sqlString).join(\",\");\n return `INSERT INTO actions_repository_enrollments (repository_id,owner_id,owner_login,repository_name,visibility,plan_job_workflow_ref,effects_job_workflow_ref,oidc_audience,enabled) VALUES (${values},1) ON CONFLICT(repository_id) DO UPDATE SET owner_id=excluded.owner_id,owner_login=excluded.owner_login,repository_name=excluded.repository_name,visibility=excluded.visibility,plan_job_workflow_ref=excluded.plan_job_workflow_ref,effects_job_workflow_ref=excluded.effects_job_workflow_ref,oidc_audience=excluded.oidc_audience,updated_at=CURRENT_TIMESTAMP;`;\n}\n\nfunction validateNumericId(value: string, label: string): void {\n if (!/^[1-9][0-9]{0,19}$/.test(value)) throw new Error(`Invalid ${label}`);\n}\n\nfunction validateName(value: string, label: string): void {\n if (value.length < 1 || value.length > 100 || /[\\u0000-\\u001f]/.test(value)) throw new Error(`Invalid ${label}`);\n}\n\nfunction validateWorkflowRef(value: string): void {\n if (value.includes(\"/../\") || value.includes(\"/./\") || value.includes(\"//\") || !/^[A-Za-z0-9_.-]+\\/[A-Za-z0-9_.-]+\\/\\.github\\/workflows\\/[A-Za-z0-9_.\\/-]+\\.ya?ml@[0-9a-f]{40}$/.test(value)) {\n throw new Error(\"Reusable workflow reference must use owner/repository/.github/workflows/file.yml@<full-sha>\");\n }\n}\n\nfunction validateAudience(value: string): void {\n let url: URL;\n try {\n url = new URL(value);\n } catch {\n throw new Error(\"Actions audience must be an HTTPS origin\");\n }\n if (url.protocol !== \"https:\" || url.username || url.password || url.pathname !== \"/\" || url.search || url.hash || value !== url.origin) {\n throw new Error(\"Actions audience must be an HTTPS origin without credentials, path, query, fragment, or trailing slash\");\n }\n}\n\nfunction sqlString(value: string): string {\n return `'${value.replaceAll(\"'\", \"''\")}'`;\n}\n", "import { operationKindValues, type OperationKind } from \"@gardener/contracts\";\n\n/**\n * GitHub Actions `permissions:` keys Gardener can derive, rendered in this\n * fixed order wherever a permission block is emitted.\n *\n * This module is the single source of truth for the operation-to-permission\n * mapping. The CLI compiler derives generated-workflow permissions from it and\n * the runner's apply executor is checked against it, so the two can never\n * drift: a scope the executor needs but the compiler never grants produces a\n * run that fails at apply time, after the model has already done its work.\n *\n * Portable `TaskBundleV1` never carries these names. Tasks declare operation\n * kinds; provider permission vocabulary lives here, in the provider adapter.\n */\nexport const GITHUB_PERMISSION_KEYS = [\n \"actions\",\n \"checks\",\n \"contents\",\n \"discussions\",\n \"id-token\",\n \"issues\",\n \"pull-requests\",\n \"statuses\",\n] as const;\n\nexport type GitHubPermissionKey = (typeof GITHUB_PERMISSION_KEYS)[number];\nexport type GitHubPermissionLevel = \"read\" | \"write\";\nexport type GitHubPermissions = Partial<Record<GitHubPermissionKey, GitHubPermissionLevel>>;\n\n/** A `key:level` scope string, for example `issues:write`. */\nexport type GitHubPermissionScope = `${GitHubPermissionKey}:${GitHubPermissionLevel}`;\n\n/**\n * Exact GitHub token permissions each operation kind requires on the\n * privileged apply job, derived from the REST and GraphQL calls the executor\n * actually makes.\n *\n * Notes on the non-obvious entries:\n *\n * - `pull_request.merge` reads check runs and commit statuses to verify branch\n * protection preconditions before merging, so it needs `checks:read` and\n * `statuses:read` in addition to the write scopes.\n * - `pull_request.open_draft` needs `contents:read` to resolve the head and\n * base revisions it opens the pull request between.\n * - `check.rerun` uses the Checks API only (`/check-runs/{id}` and\n * `/commits/{sha}/check-runs`). It never calls the Actions API, so it must\n * not derive any `actions` scope.\n */\nexport const OPERATION_TOKEN_PERMISSIONS: Readonly<Record<OperationKind, readonly GitHubPermissionScope[]>> =\n Object.freeze({\n \"issue.label.add\": [\"issues:write\"],\n \"issue.label.remove\": [\"issues:write\"],\n \"issue.comment.create\": [\"issues:write\"],\n \"issue.comment.update\": [\"issues:write\"],\n \"issue.close\": [\"issues:write\"],\n \"issue.reopen\": [\"issues:write\"],\n \"issue.assignee.add\": [\"issues:write\"],\n \"issue.assignee.remove\": [\"issues:write\"],\n \"issue.create\": [\"issues:write\"],\n \"pull_request.comment.create\": [\"pull-requests:write\"],\n \"pull_request.comment.update\": [\"pull-requests:write\"],\n \"pull_request.review.submit\": [\"pull-requests:write\"],\n \"pull_request.reviewer.request\": [\"pull-requests:write\"],\n \"pull_request.reviewer.remove\": [\"pull-requests:write\"],\n \"pull_request.update\": [\"pull-requests:write\"],\n // The issues labels API accepts pull-requests:write for a pull request.\n \"pull_request.label.add\": [\"pull-requests:write\"],\n \"pull_request.label.remove\": [\"pull-requests:write\"],\n \"branch.create\": [\"contents:write\"],\n \"commit.create\": [\"contents:write\"],\n \"pull_request.open\": [\"contents:read\", \"pull-requests:write\"],\n \"pull_request.update_branch\": [\"contents:write\", \"pull-requests:write\"],\n \"pull_request.open_draft\": [\"contents:read\", \"pull-requests:write\"],\n \"pull_request.merge\": [\"contents:write\", \"pull-requests:write\", \"checks:read\", \"statuses:read\"],\n \"discussion.comment.create\": [\"discussions:write\"],\n \"discussion.comment.update\": [\"discussions:write\"],\n \"discussion.answer.mark\": [\"discussions:write\"],\n \"discussion.answer.unmark\": [\"discussions:write\"],\n \"discussion.close\": [\"discussions:write\"],\n \"discussion.reopen\": [\"discussions:write\"],\n \"check.rerun\": [\"checks:write\"],\n \"release.create\": [\"contents:write\"],\n \"release.update\": [\"contents:write\"],\n \"release.publish\": [\"contents:write\"],\n \"release.delete\": [\"contents:write\"],\n } satisfies Record<OperationKind, readonly GitHubPermissionScope[]>);\n\n/**\n * Read scopes planning needs to build exact preconditions for one operation\n * kind. Planning never writes, so every level here is `read`.\n */\nexport const OPERATION_PLANNING_READ_PERMISSIONS: Readonly<Record<OperationKind, readonly GitHubPermissionScope[]>> =\n Object.freeze(Object.fromEntries(\n operationKindValues.map((kind) => [kind, planningReadScopes(kind)]),\n ) as Record<OperationKind, readonly GitHubPermissionScope[]>);\n\n/**\n * Planning reads the resource an operation targets, plus anything the apply\n * step will assert a precondition against, so the model can propose an\n * operation that will still be valid when it is applied.\n */\nfunction planningReadScopes(kind: OperationKind): readonly GitHubPermissionScope[] {\n const downgraded = OPERATION_TOKEN_PERMISSIONS[kind].map(\n (scope) => `${scopeKey(scope)}:read` as GitHubPermissionScope,\n );\n // `id-token` is never a resource read, and `contents:read` is already granted\n // to every planning job, so neither needs to come from the operation.\n return [...new Set(downgraded)].filter((scope) => scopeKey(scope) !== \"id-token\");\n}\n\nexport function scopeKey(scope: GitHubPermissionScope): GitHubPermissionKey {\n return scope.slice(0, scope.lastIndexOf(\":\")) as GitHubPermissionKey;\n}\n\nexport function scopeLevel(scope: GitHubPermissionScope): GitHubPermissionLevel {\n return scope.slice(scope.lastIndexOf(\":\") + 1) as GitHubPermissionLevel;\n}\n\n/** Collapses scope strings into a permission block, with `write` winning. */\nexport function permissionsFromScopes(scopes: Iterable<GitHubPermissionScope>): GitHubPermissions {\n const merged: GitHubPermissions = {};\n for (const scope of scopes) {\n const key = scopeKey(scope);\n if (merged[key] === \"write\") continue;\n merged[key] = scopeLevel(scope);\n }\n return orderPermissions(merged);\n}\n\n/** Unions permission blocks, with `write` winning over `read`. */\nexport function mergePermissions(...sources: GitHubPermissions[]): GitHubPermissions {\n const merged: GitHubPermissions = {};\n for (const source of sources) {\n for (const key of GITHUB_PERMISSION_KEYS) {\n const value = source[key];\n if (value === undefined) continue;\n if (merged[key] === \"write\" || value === \"write\") merged[key] = \"write\";\n else merged[key] = \"read\";\n }\n }\n return orderPermissions(merged);\n}\n\n/** Rewrites a permission block into the canonical key order. */\nexport function orderPermissions(permissions: GitHubPermissions): GitHubPermissions {\n const ordered: GitHubPermissions = {};\n for (const key of GITHUB_PERMISSION_KEYS) {\n const value = permissions[key];\n if (value !== undefined) ordered[key] = value;\n }\n return ordered;\n}\n\n/** Write scopes the checkout-free apply job needs for one operation kind. */\nexport function operationApplyPermissions(kind: OperationKind): GitHubPermissions {\n return permissionsFromScopes(OPERATION_TOKEN_PERMISSIONS[kind]);\n}\n\n/** Read scopes planning needs to build preconditions for one operation kind. */\nexport function operationPlanningReadPermissions(kind: OperationKind): GitHubPermissions {\n return permissionsFromScopes(OPERATION_PLANNING_READ_PERMISSIONS[kind]);\n}\n", "import {\n dispatchTargetKinds,\n pullRequestFamilyTriggerKindValues,\n triggerKindOrder,\n type TaskBundleV1,\n type TaskTriggerKindV1,\n} from \"@gardener/contracts\";\nimport {\n GITHUB_PERMISSION_KEYS,\n mergePermissions,\n operationApplyPermissions,\n orderPermissions,\n type GitHubPermissionKey,\n type GitHubPermissions,\n} from \"@gardener/provider-github\";\n\nexport const GITHUB_ACTIONS_TARGET = \"github-actions/v1\" as const;\n\n// Permission vocabulary and the exhaustive operation mapping live in the\n// provider adapter, shared with the runner's apply executor, so the compiler\n// cannot grant a scope the executor does not need or omit one it does.\nexport { GITHUB_PERMISSION_KEYS };\nexport type { GitHubPermissionKey, GitHubPermissions };\n\nexport interface GitHubActionsTriggerBindingV1 {\n kind: TaskTriggerKindV1;\n /** GitHub Actions event name. */\n event: string;\n /** `github.event.action` value, when the event is action-qualified. */\n action?: string;\n /** Expression selecting the labels that gate this event, when gating applies. */\n labelsExpression?: string;\n /** Pull-request family events whose head revision can belong to a fork. */\n forkSensitive: boolean;\n}\n\nexport interface GitHubActionsTaskPlanV1 {\n schemaVersion: \"gardener.github-actions-task-plan/v1\";\n target: typeof GITHUB_ACTIONS_TARGET;\n taskId: string;\n planningPermissions: GitHubPermissions;\n effectsPermissions: GitHubPermissions;\n /** Union the generated caller job must grant so both called jobs can run. */\n callerPermissions: GitHubPermissions;\n triggers: GitHubActionsTriggerBindingV1[];\n /**\n * True when any declared trigger can carry a fork-owned head revision, so the\n * generated workflow must gate the job on same-repository equality. Gardener\n * V1 offers no opt-in; fork pull requests are always skipped.\n */\n requiresSameRepositoryGuard: boolean;\n /**\n * Compiled network posture. `allow` means the task runs commands with the\n * GitHub-hosted runner's unrestricted egress; `deny` means no task-controlled\n * command runs at all. Host lists are always empty because this target cannot\n * enforce them.\n */\n network: { default: \"deny\" | \"allow\"; allow: []; deny: [] };\n effectLimits: { maxOperations?: number; maxBytes?: number };\n}\n\nconst ISSUE_LABELS = \"github.event.issue.labels.*.name\";\nconst PULL_REQUEST_LABELS = \"github.event.pull_request.labels.*.name\";\nconst DISCUSSION_LABELS = \"github.event.discussion.labels.*.name\";\n\nconst TRIGGER_BINDINGS: Record<TaskTriggerKindV1, Omit<GitHubActionsTriggerBindingV1, \"kind\">> = {\n \"github.issue.opened\": { event: \"issues\", action: \"opened\", labelsExpression: ISSUE_LABELS, forkSensitive: false },\n \"github.issue.edited\": { event: \"issues\", action: \"edited\", labelsExpression: ISSUE_LABELS, forkSensitive: false },\n \"github.issue.labeled\": { event: \"issues\", action: \"labeled\", labelsExpression: ISSUE_LABELS, forkSensitive: false },\n \"github.issue.unlabeled\": { event: \"issues\", action: \"unlabeled\", labelsExpression: ISSUE_LABELS, forkSensitive: false },\n \"github.issue.reopened\": { event: \"issues\", action: \"reopened\", labelsExpression: ISSUE_LABELS, forkSensitive: false },\n \"github.issue_comment.created\": { event: \"issue_comment\", action: \"created\", labelsExpression: ISSUE_LABELS, forkSensitive: false },\n \"github.issue_comment.edited\": { event: \"issue_comment\", action: \"edited\", labelsExpression: ISSUE_LABELS, forkSensitive: false },\n \"github.pull_request.opened\": { event: \"pull_request\", action: \"opened\", labelsExpression: PULL_REQUEST_LABELS, forkSensitive: true },\n \"github.pull_request.reopened\": { event: \"pull_request\", action: \"reopened\", labelsExpression: PULL_REQUEST_LABELS, forkSensitive: true },\n \"github.pull_request.synchronize\": { event: \"pull_request\", action: \"synchronize\", labelsExpression: PULL_REQUEST_LABELS, forkSensitive: true },\n \"github.pull_request.ready_for_review\": { event: \"pull_request\", action: \"ready_for_review\", labelsExpression: PULL_REQUEST_LABELS, forkSensitive: true },\n \"github.pull_request.converted_to_draft\": { event: \"pull_request\", action: \"converted_to_draft\", labelsExpression: PULL_REQUEST_LABELS, forkSensitive: true },\n \"github.pull_request.edited\": { event: \"pull_request\", action: \"edited\", labelsExpression: PULL_REQUEST_LABELS, forkSensitive: true },\n \"github.pull_request.labeled\": { event: \"pull_request\", action: \"labeled\", labelsExpression: PULL_REQUEST_LABELS, forkSensitive: true },\n \"github.pull_request.unlabeled\": { event: \"pull_request\", action: \"unlabeled\", labelsExpression: PULL_REQUEST_LABELS, forkSensitive: true },\n \"github.pull_request_review.submitted\": { event: \"pull_request_review\", action: \"submitted\", labelsExpression: PULL_REQUEST_LABELS, forkSensitive: true },\n \"github.pull_request_review_comment.created\": { event: \"pull_request_review_comment\", action: \"created\", labelsExpression: PULL_REQUEST_LABELS, forkSensitive: true },\n \"github.pull_request_review_comment.edited\": { event: \"pull_request_review_comment\", action: \"edited\", labelsExpression: PULL_REQUEST_LABELS, forkSensitive: true },\n \"github.push\": { event: \"push\", forkSensitive: false },\n \"github.workflow_dispatch\": { event: \"workflow_dispatch\", forkSensitive: false },\n \"github.schedule\": { event: \"schedule\", forkSensitive: false },\n \"github.discussion.created\": { event: \"discussion\", action: \"created\", labelsExpression: DISCUSSION_LABELS, forkSensitive: false },\n \"github.discussion.edited\": { event: \"discussion\", action: \"edited\", labelsExpression: DISCUSSION_LABELS, forkSensitive: false },\n \"github.discussion.answered\": { event: \"discussion\", action: \"answered\", labelsExpression: DISCUSSION_LABELS, forkSensitive: false },\n \"github.discussion.unanswered\": { event: \"discussion\", action: \"unanswered\", labelsExpression: DISCUSSION_LABELS, forkSensitive: false },\n \"github.discussion.labeled\": { event: \"discussion\", action: \"labeled\", labelsExpression: DISCUSSION_LABELS, forkSensitive: false },\n \"github.discussion.unlabeled\": { event: \"discussion\", action: \"unlabeled\", labelsExpression: DISCUSSION_LABELS, forkSensitive: false },\n \"github.discussion_comment.created\": { event: \"discussion_comment\", action: \"created\", labelsExpression: DISCUSSION_LABELS, forkSensitive: false },\n \"github.discussion_comment.edited\": { event: \"discussion_comment\", action: \"edited\", labelsExpression: DISCUSSION_LABELS, forkSensitive: false },\n};\n\n/** Write scopes the checkout-free apply job needs for one exact operation kind. */\nconst effectPermissions = operationApplyPermissions;\n\n/**\n * A reusable called job may only request permissions its caller granted. The\n * planner exposes a bounded read-only GitHub API whose resource family is\n * selected at runtime, so every generated caller grants this fixed read union.\n * Writes remain task-exact and are added below from the declared effect kinds.\n */\nconst planningPermissions = orderPermissions({\n checks: \"read\",\n contents: \"read\",\n discussions: \"read\",\n \"id-token\": \"write\",\n issues: \"read\",\n \"pull-requests\": \"read\",\n statuses: \"read\",\n});\n\nexport function compileGitHubActionsTask(bundle: TaskBundleV1): GitHubActionsTaskPlanV1 {\n // A draft keeps its declared triggers in the bundle, so a manual run can\n // target what they describe, but its workflow listens only for manual runs.\n const triggers = bundle.triggers\n .filter((trigger) => bundle.draft !== true || trigger.kind === \"github.workflow_dispatch\")\n .map((trigger) => ({\n kind: trigger.kind,\n ...TRIGGER_BINDINGS[trigger.kind],\n }));\n if (triggers.length === 0) {\n throw new Error(`Task ${bundle.taskId} must declare at least one trigger`);\n }\n\n const canonical = [...bundle.triggers].sort(\n (left, right) => triggerKindOrder.get(left.kind)! - triggerKindOrder.get(right.kind)!,\n );\n if (canonical.some((trigger, index) => trigger.kind !== bundle.triggers[index]!.kind)) {\n throw new Error(`Task ${bundle.taskId} lists triggers outside canonical order`);\n }\n\n // Network model for github-actions/v1.\n //\n // Gardener does not sandbox the GitHub-hosted runner's network. A task that\n // declares `repository.exec` therefore has the runner's ordinary unrestricted\n // egress, and must say so: `default: allow` with empty lists. Host rules are\n // rejected outright rather than compiled into an allowlist Gardener cannot\n // enforce, because a filter that silently does nothing is worse than none.\n //\n // Tasks without `repository.exec` never run task-controlled commands, so they\n // must declare `default: deny` with empty lists.\n const declaresExec = bundle.tools.includes(\"repository.exec\");\n const expectedDefault = declaresExec ? \"allow\" : \"deny\";\n if (bundle.network.default !== expectedDefault) {\n throw new Error(\n declaresExec\n ? `Task ${bundle.taskId} declares repository.exec, so it must declare network default allow: Gardener does not restrict runner egress and the task can reach any host`\n : `Task ${bundle.taskId} must use network default deny because it does not declare repository.exec`,\n );\n }\n for (const key of [\"allow\", \"deny\"] as const) {\n if (bundle.network[key].length > 0) {\n throw new Error(\n `Task ${bundle.taskId} declares network ${key} hosts, but github-actions/v1 cannot enforce host rules; remove them`,\n );\n }\n }\n\n if (bundle.limits.runtimeSeconds < 30 || bundle.limits.runtimeSeconds > 480) {\n throw new Error(`Task ${bundle.taskId} runtime-seconds must be between 30 and 480 for github-actions/v1`);\n }\n if (bundle.limits.maxTurns < 3 || bundle.limits.maxTurns > 16) {\n throw new Error(`Task ${bundle.taskId} max-turns must be between 3 and 16 for github-actions/v1`);\n }\n if (bundle.limits.maxToolCalls < 3 || bundle.limits.maxToolCalls > 64) {\n throw new Error(`Task ${bundle.taskId} max-tool-calls must be between 3 and 64 for github-actions/v1`);\n }\n if (bundle.limits.inputTokens > 128_000 || bundle.limits.outputTokens > 32_000) {\n throw new Error(`Task ${bundle.taskId} token limits exceed github-actions/v1 model bounds`);\n }\n if (bundle.limits.maxEffectOperations !== undefined && bundle.effects.length === 0) {\n throw new Error(`Task ${bundle.taskId} sets max-effect-operations without declaring any effect`);\n }\n\n // Apply reads a manual run's target again to check the plan's binding, so it\n // needs read access to every kind of target the workflow form offers.\n const targetReadPermissions: GitHubPermissions[] = dispatchTargetKinds(bundle.triggers)\n .map((target) => (target === \"issue\" ? { issues: \"read\" } : { \"pull-requests\": \"read\" }));\n const effectsPermissions = bundle.effects.length === 0\n ? orderPermissions({ \"id-token\": \"write\" })\n : mergePermissions({ \"id-token\": \"write\" }, ...targetReadPermissions, ...bundle.effects.map(effectPermissions));\n\n return {\n schemaVersion: \"gardener.github-actions-task-plan/v1\",\n target: GITHUB_ACTIONS_TARGET,\n taskId: bundle.taskId,\n planningPermissions,\n effectsPermissions,\n callerPermissions: mergePermissions(planningPermissions, effectsPermissions),\n triggers,\n // Describes the bundle, not the rendered triggers: a draft still acts on\n // pull requests when run by hand.\n requiresSameRepositoryGuard: bundle.triggers.some(\n (trigger) => pullRequestFamilyTriggerKindValues.includes(trigger.kind),\n ),\n network: { default: expectedDefault, allow: [], deny: [] },\n effectLimits: {\n ...(bundle.limits.maxEffectOperations === undefined ? {} : { maxOperations: bundle.limits.maxEffectOperations }),\n ...(bundle.limits.maxEffectBytes === undefined ? {} : { maxBytes: bundle.limits.maxEffectBytes }),\n },\n };\n}\n", "import { lstat, mkdir, readFile, readdir, rename, stat, unlink, writeFile } from \"node:fs/promises\";\nimport { dirname, join, relative, resolve } from \"node:path\";\nimport { z } from \"zod\";\nimport {\n authoredTriggerSubject,\n checksOutPullRequestHead,\n dispatchTargetKinds,\n githubHandleV1Schema,\n isAuthoredTriggerKind,\n isEditedTriggerKind,\n maintainerAssociations,\n type AuthoredTriggerKindV1,\n} from \"@gardener/contracts\";\nimport {\n compileGitHubActionsTask,\n GITHUB_ACTIONS_TARGET,\n GITHUB_PERMISSION_KEYS,\n type GitHubActionsTaskPlanV1,\n type GitHubActionsTriggerBindingV1,\n} from \"./actions-target.js\";\nimport { compileTaskSource, modelWarning, type CompiledTask } from \"./task-authoring.js\";\n\nexport const DEFAULT_WORKFLOW_REF =\n \"scuffi/gardener/.github/workflows/gardener-task.yml@ec7eded3ffeae332f745200e270f3601d8b35aa8\";\nconst GENERATED_MARKER = \"# Generated by Gardener. Do not edit.\";\n\nconst projectSchema = z.strictObject({\n schemaVersion: z.literal(\"gardener.project/v1\"),\n target: z.literal(GITHUB_ACTIONS_TARGET),\n release: z.strictObject({\n workflowRef: z.string().regex(\n /^[A-Za-z0-9_.-]+\\/[A-Za-z0-9_.-]+\\/\\.github\\/workflows\\/[A-Za-z0-9_.\\/-]+\\.ya?ml@[0-9a-f]{40}$/,\n ),\n }),\n /**\n * The GitHub handle people @mention to reach this project's tasks, such as a\n * bot account. `mentions: [self]` in a TASK.md resolves to it.\n */\n handle: z.string().transform((value) => value.replace(/^@/, \"\").toLowerCase()).pipe(githubHandleV1Schema).optional(),\n});\n\ninterface BuiltTask extends CompiledTask {\n source: string;\n workflow: string;\n actionsPlan: GitHubActionsTaskPlanV1;\n}\n\nexport interface ProjectBuildResult {\n lockPath: string;\n tasks: Array<{ taskId: string; bundleHash: string; workflow: string }>;\n /** Operator-facing warnings. Present but empty when nothing needs attention. */\n warnings: string[];\n}\n\n/**\n * Emitted for every task that declares `repository.exec`. Gardener does not\n * sandbox the GitHub-hosted runner, so such a task can reach any host and can\n * exfiltrate private source. This is a demo capability, not production-ready.\n */\nexport const UNRESTRICTED_EGRESS_WARNING =\n \"declares repository.exec, which runs task-controlled commands with the GitHub-hosted runner's \"\n + \"unrestricted network egress. Gardener does not sandbox or filter that traffic, so the task can \"\n + \"reach any host and can exfiltrate private source. This is demo-only and is not production-ready.\";\n\nconst BUG_INTAKE_TASK = `---\nschema: gardener.task/v1\nid: bug-intake\nname: Bug intake\ndescription: Inspects repository conventions and helps issue authors provide actionable bug reports.\ntrigger:\n event: github.issue.opened\n labels-all:\n - gardener-bug\ntools:\n - repository.list_files\n - repository.read_file\neffects:\n - issue.comment.create\nnetwork:\n default: deny\n allow: []\n deny: []\nlimits:\n runtime-seconds: 300\n max-turns: 16\n max-tool-calls: 12\n input-tokens: 60000\n output-tokens: 16000\n---\nInspect the issue and the repository's relevant conventions.\n\nPropose one concise issue comment containing:\n\n1. The likely affected area.\n2. Missing reproduction information.\n3. Relevant test locations.\n4. A concrete next step for the author or maintainer.\n\nDo not claim that code was changed or that a persistent effect already occurred.\n`;\n\nconst DOCS_HELPER_TASK = `---\nschema: gardener.task/v1\nid: docs-helper\nname: Documentation helper\ndescription: Locates relevant documentation and suggests a concrete documentation plan.\ntrigger:\n event: github.issue.opened\n labels-all:\n - gardener-docs\ntools:\n - repository.list_files\n - repository.read_file\neffects:\n - issue.comment.create\nnetwork:\n default: deny\n allow: []\n deny: []\nlimits:\n runtime-seconds: 300\n max-turns: 16\n max-tool-calls: 12\n input-tokens: 60000\n output-tokens: 16000\n---\nInspect the issue and the repository's documentation structure.\n\nPropose one concise issue comment containing:\n\n1. The documentation files most likely involved.\n2. Related guidance already present in the repository.\n3. Missing information needed from the issue author.\n4. A concrete documentation update plan.\n\nDo not claim that documentation was changed or that a persistent effect already occurred.\n`;\n\nexport async function initializeProject(input: {\n repositoryRoot: string;\n demos: boolean;\n}): Promise<{ created: string[]; preserved: string[] }> {\n const root = resolve(input.repositoryRoot);\n const created: string[] = [];\n const preserved: string[] = [];\n const files = new Map<string, string>([\n [\".gardener/gardener.json\", `${JSON.stringify({\n schemaVersion: \"gardener.project/v1\",\n target: GITHUB_ACTIONS_TARGET,\n release: { workflowRef: DEFAULT_WORKFLOW_REF },\n }, null, 2)}\\n`],\n ]);\n if (input.demos) {\n files.set(\".gardener/tasks/bug-intake/TASK.md\", BUG_INTAKE_TASK);\n files.set(\".gardener/tasks/docs-helper/TASK.md\", DOCS_HELPER_TASK);\n }\n for (const [path, content] of files) {\n const target = join(root, path);\n await mkdir(dirname(target), { recursive: true });\n if (await exists(target)) {\n preserved.push(path);\n continue;\n }\n await atomicWrite(target, content);\n created.push(path);\n }\n return { created, preserved };\n}\n\nexport async function upgradeProjectRelease(input: { repositoryRoot: string }): Promise<{\n previousWorkflowRef: string;\n workflowRef: string;\n changed: boolean;\n}> {\n const root = resolve(input.repositoryRoot);\n const projectPath = join(root, \".gardener\", \"gardener.json\");\n let source: string;\n try {\n source = await readFile(projectPath, \"utf8\");\n } catch (error) {\n if (error && typeof error === \"object\" && \"code\" in error && error.code === \"ENOENT\") {\n throw new Error(`Not a Gardener project: ${root}. Pass --repository-root for a repository containing .gardener/gardener.json`);\n }\n throw error;\n }\n const project = projectSchema.parse(JSON.parse(source));\n const previousWorkflowRef = project.release.workflowRef;\n if (previousWorkflowRef !== DEFAULT_WORKFLOW_REF) {\n await atomicWrite(projectPath, `${JSON.stringify({\n ...project,\n release: { ...project.release, workflowRef: DEFAULT_WORKFLOW_REF },\n }, null, 2)}\\n`);\n }\n return {\n previousWorkflowRef,\n workflowRef: DEFAULT_WORKFLOW_REF,\n changed: previousWorkflowRef !== DEFAULT_WORKFLOW_REF,\n };\n}\n\nexport async function buildProject(input: { repositoryRoot: string }): Promise<ProjectBuildResult> {\n const root = resolve(input.repositoryRoot);\n const gardenerDirectory = join(root, \".gardener\");\n const projectPath = join(gardenerDirectory, \"gardener.json\");\n const project = projectSchema.parse(JSON.parse(await readFile(projectPath, \"utf8\")));\n const taskRoot = join(gardenerDirectory, \"tasks\");\n const entries = (await readdir(taskRoot, { withFileTypes: true }))\n .filter((entry) => entry.isDirectory())\n .sort((left, right) => left.name.localeCompare(right.name));\n if (entries.length === 0) throw new Error(\"No .gardener/tasks/*/TASK.md files were found\");\n\n const tasks: BuiltTask[] = [];\n const taskIds = new Set<string>();\n const workflows = new Set<string>();\n for (const entry of entries) {\n const taskPath = join(taskRoot, entry.name, \"TASK.md\");\n const taskStat = await lstat(taskPath);\n if (!taskStat.isFile() || taskStat.isSymbolicLink()) {\n throw new Error(`${relative(root, taskPath)} is not a regular file`);\n }\n const source = relative(gardenerDirectory, taskPath).replaceAll(\"\\\\\", \"/\");\n const compiled = await compileTaskSource(await readFile(taskPath, \"utf8\"), source, project.handle === undefined ? {} : { handle: project.handle });\n if (taskIds.has(compiled.bundle.taskId)) throw new Error(`Duplicate task id: ${compiled.bundle.taskId}`);\n taskIds.add(compiled.bundle.taskId);\n const workflow = `.github/workflows/gardener-${workflowSlug(compiled.bundle.taskId)}.yml`;\n if (workflows.has(workflow)) throw new Error(`Multiple tasks generate ${workflow}`);\n workflows.add(workflow);\n tasks.push({\n ...compiled,\n source,\n workflow,\n actionsPlan: compileGitHubActionsTask(compiled.bundle),\n });\n }\n tasks.sort((left, right) => left.bundle.taskId.localeCompare(right.bundle.taskId));\n\n const previous = await readPreviousLock(join(gardenerDirectory, \"gardener.lock.json\"));\n const nextWorkflows = new Set(tasks.map((task) => task.workflow));\n for (const stale of previous.filter((path) => !nextWorkflows.has(path))) {\n const target = join(root, stale);\n if (await exists(target) && (await readFile(target, \"utf8\")).startsWith(GENERATED_MARKER)) {\n await unlink(target);\n }\n }\n\n for (const task of tasks) {\n const output = join(root, task.workflow);\n await mkdir(dirname(output), { recursive: true });\n if (await exists(output) && !(await readFile(output, \"utf8\")).startsWith(GENERATED_MARKER)) {\n throw new Error(`Refusing to overwrite non-Gardener workflow ${task.workflow}`);\n }\n await atomicWrite(output, renderTaskWorkflow(task, project.release.workflowRef));\n }\n\n const lock = {\n schemaVersion: \"gardener.lock/v1\",\n target: {\n id: project.target,\n adapterVersion: \"1\",\n workflowRef: project.release.workflowRef,\n },\n release: project.release,\n tasks: Object.fromEntries(tasks.map((task) => [task.bundle.taskId, {\n source: task.source,\n bundleHash: task.bundleHash,\n workflow: task.workflow,\n bundle: task.bundle,\n deployment: task.actionsPlan,\n }])),\n };\n const lockPath = join(gardenerDirectory, \"gardener.lock.json\");\n await atomicWrite(lockPath, `${JSON.stringify(lock, null, 2)}\\n`);\n const warnings = [\n ...tasks\n .filter((task) => task.bundle.tools.includes(\"repository.exec\"))\n .map((task) => `Task ${task.bundle.taskId} ${UNRESTRICTED_EGRESS_WARNING}`),\n ...tasks.flatMap((task) => {\n const warning = modelWarning(task.bundle.model);\n return warning === undefined ? [] : [`Task ${task.bundle.taskId} ${warning}`];\n }),\n ];\n return {\n warnings,\n lockPath,\n tasks: tasks.map((task) => ({\n taskId: task.bundle.taskId,\n bundleHash: task.bundleHash,\n workflow: task.workflow,\n })),\n };\n}\n\n/** Canonical GitHub event ordering so regenerated workflows stay byte-identical. */\nconst WORKFLOW_EVENT_ORDER = [\n \"issues\",\n \"issue_comment\",\n \"pull_request\",\n \"pull_request_review\",\n \"pull_request_review_comment\",\n \"push\",\n \"discussion\",\n \"discussion_comment\",\n \"schedule\",\n \"workflow_dispatch\",\n] as const;\n\nfunction renderWorkflowTriggers(task: BuiltTask): string {\n const bindings = task.actionsPlan.triggers;\n const lines: string[] = [];\n for (const event of WORKFLOW_EVENT_ORDER) {\n const matching = bindings.filter((binding) => binding.event === event);\n if (matching.length === 0) continue;\n if (event === \"schedule\") {\n lines.push(\" schedule:\");\n const crons = task.bundle.triggers\n .filter((trigger) => trigger.kind === \"github.schedule\")\n .map((trigger) => (trigger as { cron: string }).cron);\n for (const cron of crons) lines.push(` - cron: ${yamlString(cron)}`);\n continue;\n }\n if (event === \"push\") {\n const branches = task.bundle.triggers\n .filter((trigger) => trigger.kind === \"github.push\")\n .flatMap((trigger) => (trigger as { branches: string[] }).branches);\n lines.push(\" push:\");\n lines.push(\" branches:\");\n for (const branch of branches) lines.push(` - ${yamlString(branch)}`);\n continue;\n }\n if (event === \"workflow_dispatch\") {\n // Every input is optional. With none, the run follows the task's\n // instructions alone; a target input names the issue or pull request to\n // act on, offered for the resources the task's other triggers act on.\n lines.push(\" workflow_dispatch:\");\n lines.push(\" inputs:\");\n lines.push(\" prompt:\");\n lines.push(\" description: Extra instructions for this run. Optional, up to 20000 characters.\");\n lines.push(\" required: false\");\n lines.push(\" type: string\");\n for (const target of dispatchTargetKinds(task.bundle.triggers)) {\n lines.push(` ${target}:`);\n lines.push(` description: ${target === \"issue\" ? \"Issue\" : \"Pull request\"} number to run against. Optional.`);\n lines.push(\" required: false\");\n lines.push(\" type: string\");\n }\n continue;\n }\n const types = matching\n .map((binding) => binding.action)\n .filter((action): action is string => action !== undefined);\n lines.push(` ${event}:`);\n lines.push(` types: [${types.join(\", \")}]`);\n }\n return lines.join(\"\\n\");\n}\n\nfunction renderTriggerCondition(binding: GitHubActionsTriggerBindingV1, task: BuiltTask): string {\n const clauses = [`github.event_name == '${binding.event}'`];\n if (binding.action !== undefined) clauses.push(`github.event.action == '${binding.action}'`);\n if (binding.forkSensitive) {\n // Unconditional in V1: fork-owned head revisions are never planned, and the\n // runtime re-checks head repository identity even if this file is edited.\n clauses.push(\"github.event.pull_request.head.repo.full_name == github.repository\");\n }\n const trigger = task.bundle.triggers.find((candidate) => candidate.kind === binding.kind);\n const labels = trigger && \"labelsAll\" in trigger ? trigger.labelsAll : [];\n if (binding.labelsExpression !== undefined) {\n for (const label of labels) {\n clauses.push(`contains(${binding.labelsExpression}, ${yamlSingleQuoted(label)})`);\n }\n }\n if (trigger !== undefined && \"authors\" in trigger && isAuthoredTriggerKind(trigger.kind)) {\n clauses.push(...authoredTriggerClauses(trigger.kind, trigger.mentions, trigger.authors));\n }\n return clauses.length === 1 ? clauses[0]! : `(${clauses.join(\" && \")})`;\n}\n\nconst SUBJECT_EXPRESSIONS: Record<(typeof authoredTriggerSubject)[AuthoredTriggerKindV1], string> = {\n issue: \"github.event.issue\",\n comment: \"github.event.comment\",\n pullRequest: \"github.event.pull_request\",\n review: \"github.event.review\",\n discussion: \"github.event.discussion\",\n};\n\n/**\n * Prefilters for `mentions` and `authors`. They skip the job for events that\n * certainly don't match, so they must never exclude one that does: the Worker\n * makes the exact decision (word boundaries, and whether an edit added the\n * mention), and a run that passes here but not there completes as a skip.\n */\nfunction authoredTriggerClauses(\n kind: AuthoredTriggerKindV1,\n mentions: readonly string[],\n authors: \"maintainers\" | \"any\",\n): string[] {\n const subject = SUBJECT_EXPRESSIONS[authoredTriggerSubject[kind]];\n const clauses: string[] = [];\n if (authors === \"maintainers\") {\n clauses.push(`contains(fromJSON('${JSON.stringify(maintainerAssociations)}'), ${subject}.author_association)`);\n }\n if (mentions.length > 0) {\n // contains() is case-insensitive, like GitHub mentions. Handles are\n // letters, digits and hyphens, so they need no quoting.\n const any = mentions.map((handle) => `contains(${subject}.body, '@${handle}')`);\n clauses.push(any.length === 1 ? any[0]! : `(${any.join(\" || \")})`);\n // An edit can only add a mention if it changed the body.\n if (isEditedTriggerKind(kind)) clauses.push(\"github.event.changes.body\");\n }\n return clauses;\n}\n\nfunction renderJobCondition(task: BuiltTask): string {\n const conditions = task.actionsPlan.triggers.map((binding) => renderTriggerCondition(binding, task));\n return conditions.join(\"\\n || \");\n}\n\nfunction renderPermissions(task: BuiltTask): string {\n const permissions = task.actionsPlan.callerPermissions;\n return GITHUB_PERMISSION_KEYS\n .filter((key) => permissions[key] !== undefined)\n .map((key) => ` ${key}: ${permissions[key]}`)\n .join(\"\\n\");\n}\n\nfunction renderTaskWorkflow(task: BuiltTask, workflowRef: string): string {\n return `${GENERATED_MARKER}\n#\n# Source: .gardener/${task.source}\n# Task: ${task.bundle.taskId}\n# Bundle: sha256:${task.bundleHash}\n# Regenerate: gardener generate\n# Do not edit this workflow directly.\nname: ${yamlString(`Gardener \u00B7 ${task.bundle.name}`)}\n\non:\n${renderWorkflowTriggers(task)}\n\npermissions: {}\n\njobs:\n gardener:\n if: >-\n \\${{\n ${renderJobCondition(task)}\n }}\n permissions:\n${renderPermissions(task)}\n uses: ${workflowRef}\n with:\n runtime-url: \\${{ vars.GARDENER_RUNTIME_URL }}\n task-id: ${yamlString(task.bundle.taskId)}\n task-name: ${yamlString(task.bundle.name)}\n task-source: ${yamlString(`.gardener/${task.source}`)}\n task-bundle-hash: ${task.bundleHash}\n${checksOutPullRequestHead(task.bundle)\n // Tasks that commit beyond gardener/** build on the pull request's head, not\n // GitHub's merge preview. Empty for events without a pull request.\n ? \" checkout-ref: ${{ github.event.pull_request.head.sha }}\\n\"\n : \"\"}`;\n}\n\nfunction yamlString(value: string): string {\n return JSON.stringify(value);\n}\n\n/** GitHub expression string literal. Labels are constrained to a safe character set. */\nfunction yamlSingleQuoted(value: string): string {\n return `'${value.replaceAll(\"'\", \"''\")}'`;\n}\n\nfunction workflowSlug(taskId: string): string {\n return taskId.replace(/[^a-z0-9-]+/g, \"-\").replace(/^-+|-+$/g, \"\");\n}\n\nasync function readPreviousLock(path: string): Promise<string[]> {\n if (!await exists(path)) return [];\n try {\n const value = JSON.parse(await readFile(path, \"utf8\")) as { tasks?: Record<string, { workflow?: unknown }> };\n return Object.values(value.tasks ?? {})\n .map((task) => task.workflow)\n .filter((workflow): workflow is string => typeof workflow === \"string\");\n } catch {\n throw new Error(\"Existing .gardener/gardener.lock.json is invalid\");\n }\n}\n\nasync function atomicWrite(path: string, content: string): Promise<void> {\n if (await exists(path) && await readFile(path, \"utf8\") === content) return;\n const temporary = `${path}.tmp-${process.pid}`;\n await writeFile(temporary, content, { encoding: \"utf8\", mode: 0o644 });\n await rename(temporary, path);\n}\n\nasync function exists(path: string): Promise<boolean> {\n try {\n await stat(path);\n return true;\n } catch (error) {\n if (error && typeof error === \"object\" && \"code\" in error && error.code === \"ENOENT\") return false;\n throw error;\n }\n}\n", "import {\n branchPatternsSchema,\n branchWriteKinds,\n defaultTriggerAuthors,\n githubHandleV1Schema,\n isAuthoredTriggerKind,\n operationCatalog,\n operationKindValues,\n taskBundleV1Schema,\n taskModelIdSchema,\n taskToolV1Schema,\n taskTriggerKindValues,\n triggerKindOrder,\n type TaskBundleV1,\n type TaskEffectKindV1,\n type TaskTriggerKindV1,\n type TaskTriggerV1,\n} from \"@gardener/contracts\";\nimport { canonicalJson, canonicalSha256 } from \"@gardener/core\";\nimport { parse as parseYaml } from \"yaml\";\nimport { z } from \"zod\";\n\nconst safeLabel = z.string().trim().min(1).max(100).regex(\n /^[A-Za-z0-9][A-Za-z0-9._ -]{0,99}$/,\n \"labels may contain only letters, numbers, spaces, dots, underscores, and hyphens\",\n);\n\nconst OPERATION_FAMILY_BY_KIND = new Map(operationCatalog.map((entry) => [entry.kind, entry.family]));\nconst OPERATION_FAMILY_VALUES = [...new Set(operationCatalog.map((entry) => entry.family))].sort();\n\n/** Authoring shorthand that expands to every exact operation kind in one family. */\nexport const effectFamilyGlobValues = OPERATION_FAMILY_VALUES.map((family) => `${family}.*`) as [string, ...string[]];\n\nconst effectSelectorSchema = z.union([\n z.enum(operationKindValues),\n z.enum(effectFamilyGlobValues),\n]);\n\n/** An exact branch-writing kind with the branches it may write to. */\nconst effectWithOptionsSchema = z.strictObject({\n kind: z.enum(branchWriteKinds as [string, ...string[]]),\n branches: branchPatternsSchema,\n});\n\nconst effectEntrySchema = z.union([effectSelectorSchema, effectWithOptionsSchema]);\ntype EffectEntry = z.infer<typeof effectEntrySchema>;\n\nfunction effectSelector(entry: EffectEntry): string {\n return typeof entry === \"string\" ? entry : entry.kind;\n}\n\nconst PUSH_TRIGGER = \"github.push\";\nconst SCHEDULE_TRIGGER = \"github.schedule\";\nconst DISPATCH_TRIGGER = \"github.workflow_dispatch\";\n\nconst triggerAuthoringSchema = z.strictObject({\n event: z.enum(taskTriggerKindValues),\n \"labels-all\": z.array(safeLabel).max(20).optional(),\n mentions: z.array(z.string().trim().min(1).max(40)).min(1).max(20).optional(),\n authors: z.enum([\"maintainers\", \"any\"]).optional(),\n branches: z.array(z.string().trim().min(1).max(255)).min(1).max(20).optional(),\n cron: z.string().trim().min(1).max(100).optional(),\n}).superRefine((trigger, context) => {\n const reject = (key: \"labels-all\" | \"mentions\" | \"authors\" | \"branches\" | \"cron\") => {\n if (trigger[key] !== undefined) {\n context.addIssue({ code: \"custom\", path: [key], message: `${key} is not supported by ${trigger.event}` });\n }\n };\n const require = (key: \"branches\" | \"cron\") => {\n if (trigger[key] === undefined) {\n context.addIssue({ code: \"custom\", path: [key], message: `${key} is required by ${trigger.event}` });\n }\n };\n if (trigger.event === PUSH_TRIGGER) {\n require(\"branches\");\n reject(\"labels-all\");\n reject(\"mentions\");\n reject(\"authors\");\n reject(\"cron\");\n return;\n }\n if (trigger.event === SCHEDULE_TRIGGER) {\n require(\"cron\");\n reject(\"labels-all\");\n reject(\"mentions\");\n reject(\"authors\");\n reject(\"branches\");\n return;\n }\n if (trigger.event === DISPATCH_TRIGGER) {\n reject(\"labels-all\");\n reject(\"mentions\");\n reject(\"authors\");\n reject(\"branches\");\n reject(\"cron\");\n return;\n }\n reject(\"branches\");\n reject(\"cron\");\n if (!isAuthoredTriggerKind(trigger.event)) {\n reject(\"mentions\");\n reject(\"authors\");\n }\n});\n\n/** The model a task uses when its TASK.md names none. Written into the bundle. */\nexport const DEFAULT_TASK_MODEL = \"@cf/zai-org/glm-5.3\";\n\n/**\n * Model id prefixes Flue's Cloudflare provider has a native request format\n * for. Any other id is sent as OpenAI-compatible chat completions, which may\n * not support the tool calls every task depends on.\n */\nconst NATIVE_MODEL_PREFIXES = [\"@cf/\", \"anthropic/\", \"openai/\"] as const;\n\n/** A build warning for a model Gardener cannot vouch for, or undefined. */\nexport function modelWarning(model: string): string | undefined {\n if (NATIVE_MODEL_PREFIXES.some((prefix) => model.startsWith(prefix))) return undefined;\n return `uses model ${model}, which is sent to AI Gateway as OpenAI-compatible chat completions. `\n + \"Gardener has only verified @cf/, anthropic/ and openai/ models; this one may fail if it cannot call tools.\";\n}\n\nconst authoringSchema = z.strictObject({\n schema: z.literal(\"gardener.task/v1\"),\n id: z.string().regex(/^[a-z0-9](?:[a-z0-9._-]{0,158}[a-z0-9])?$/),\n name: z.string().trim().min(1).max(100),\n description: z.string().trim().min(1).max(1_000),\n trigger: triggerAuthoringSchema.optional(),\n triggers: z.array(triggerAuthoringSchema).min(1).max(taskTriggerKindValues.length).optional(),\n draft: z.boolean().optional(),\n model: taskModelIdSchema.optional(),\n tools: z.array(taskToolV1Schema).min(1).max(taskToolV1Schema.options.length),\n effects: z.array(effectEntrySchema).max(operationKindValues.length + effectFamilyGlobValues.length).default([]),\n network: z.strictObject({\n default: z.enum([\"deny\", \"allow\"]),\n allow: z.array(z.string()),\n deny: z.array(z.string()),\n }),\n limits: z.strictObject({\n \"runtime-seconds\": z.number().int().positive().max(3_600),\n \"max-turns\": z.number().int().positive().max(32),\n \"max-tool-calls\": z.number().int().positive().max(256),\n \"input-tokens\": z.number().int().positive().max(1_000_000),\n \"output-tokens\": z.number().int().positive().max(250_000),\n \"max-effect-operations\": z.number().int().positive().max(1_000).optional(),\n \"max-effect-bytes\": z.number().int().min(1_024).max(50_000_000).optional(),\n }),\n}).superRefine((authoring, context) => {\n if ((authoring.trigger === undefined) === (authoring.triggers === undefined)) {\n context.addIssue({\n code: \"custom\",\n path: [\"triggers\"],\n message: \"declare exactly one of trigger or triggers\",\n });\n }\n if (new Set(authoring.tools).size !== authoring.tools.length) {\n context.addIssue({ code: \"custom\", path: [\"tools\"], message: \"tools must be unique\" });\n }\n if (new Set(authoring.effects.map(effectSelector)).size !== authoring.effects.length) {\n context.addIssue({ code: \"custom\", path: [\"effects\"], message: \"effect selectors must be unique\" });\n }\n});\n\nexport interface CompiledTask {\n bundle: TaskBundleV1;\n bundleHash: string;\n canonicalBundle: string;\n}\n\n/**\n * Options given on effect entries, as the bundle carries them. Patterns are\n * sorted so listing them in another order does not change the bundle hash.\n */\nfunction effectOptionsOf(entries: readonly EffectEntry[]): { effectOptions?: TaskBundleV1[\"effectOptions\"] } {\n const optioned = entries.flatMap((entry) => typeof entry === \"string\"\n ? []\n : [[entry.kind, { branches: [...entry.branches].sort() }] as const]);\n return optioned.length === 0 ? {} : { effectOptions: Object.fromEntries(optioned) as TaskBundleV1[\"effectOptions\"] };\n}\n\n/** Deterministic expansion of exact kinds and family globs into the canonical allowlist. */\nexport function expandEffectSelectors(selectors: readonly string[]): TaskEffectKindV1[] {\n const exact = new Set<string>();\n const families = new Set<string>();\n for (const selector of selectors) {\n if (selector.endsWith(\".*\")) families.add(selector.slice(0, -\".*\".length));\n else exact.add(selector);\n }\n return operationKindValues.filter(\n (kind) => exact.has(kind) || families.has(OPERATION_FAMILY_BY_KIND.get(kind)!),\n );\n}\n\ntype AuthoredTrigger = z.output<typeof triggerAuthoringSchema>;\n\n/** Options that come from `.gardener/gardener.json` rather than the task. */\nexport interface TaskCompileOptions {\n /** The project's own GitHub handle, which `mentions: [self]` resolves to. */\n handle?: string;\n}\n\nfunction toContractTrigger(authored: AuthoredTrigger, options: TaskCompileOptions, sourceName: string): TaskTriggerV1 {\n const kind = authored.event as TaskTriggerKindV1;\n if (kind === PUSH_TRIGGER) return { kind, branches: authored.branches! };\n if (kind === SCHEDULE_TRIGGER) return { kind, cron: authored.cron! };\n if (kind === DISPATCH_TRIGGER) return { kind };\n const labelsAll = authored[\"labels-all\"] ?? [];\n if (!isAuthoredTriggerKind(kind)) return { kind, labelsAll } as TaskTriggerV1;\n const mentions = resolveMentions(authored.mentions ?? [], options, sourceName, kind);\n return { kind, labelsAll, mentions, authors: authored.authors ?? defaultTriggerAuthors(kind, mentions) } as TaskTriggerV1;\n}\n\n/**\n * Lowercased handles without `@`, in the order written, with `self` replaced by\n * the project handle. A handle the contract would refuse fails the build here,\n * where the author can see which task and trigger it came from.\n */\nfunction resolveMentions(written: readonly string[], options: TaskCompileOptions, sourceName: string, kind: string): string[] {\n const handles: string[] = [];\n for (const entry of written) {\n let handle = entry.startsWith(\"@\") ? entry.slice(1) : entry;\n if (handle === \"self\") {\n if (options.handle === undefined) {\n throw new Error(`${sourceName} ${kind} mentions self, but .gardener/gardener.json sets no handle`);\n }\n handle = options.handle;\n }\n handle = handle.toLowerCase();\n if (!githubHandleV1Schema.safeParse(handle).success) {\n throw new Error(`${sourceName} ${kind} mentions ${entry}, which is not a GitHub handle`);\n }\n if (!handles.includes(handle)) handles.push(handle);\n }\n return handles;\n}\n\nexport async function compileTaskSource(\n source: string,\n sourceName = \"TASK.md\",\n options: TaskCompileOptions = {},\n): Promise<CompiledTask> {\n const normalized = source.replaceAll(\"\\r\\n\", \"\\n\");\n if (!normalized.startsWith(\"---\\n\")) {\n throw new Error(`${sourceName} must begin with YAML frontmatter`);\n }\n const boundary = normalized.indexOf(\"\\n---\\n\", 4);\n if (boundary < 0) throw new Error(`${sourceName} has no closing YAML frontmatter delimiter`);\n\n let parsed: unknown;\n try {\n parsed = parseYaml(normalized.slice(4, boundary), { uniqueKeys: true });\n } catch (error) {\n throw new Error(`${sourceName} has invalid YAML: ${error instanceof Error ? error.message : \"parse failed\"}`);\n }\n const authoring = authoringSchema.parse(parsed);\n const instructions = normalized.slice(boundary + 5).trim();\n if (!instructions) throw new Error(`${sourceName} must contain task instructions after frontmatter`);\n\n // Triggers are emitted in canonical order so the bundle hash and generated\n // workflow do not depend on the order the author happened to list them in.\n // Every task can be run by hand, so the manual trigger is always compiled in.\n const declaredTriggers = authoring.triggers ?? [authoring.trigger!];\n const manual: AuthoredTrigger = { event: DISPATCH_TRIGGER };\n const withManual: AuthoredTrigger[] = declaredTriggers.some((trigger) => trigger.event === DISPATCH_TRIGGER)\n ? declaredTriggers\n : [...declaredTriggers, manual];\n const authoredTriggers = [...withManual].sort(\n (left, right) => triggerKindOrder.get(left.event as TaskTriggerKindV1)!\n - triggerKindOrder.get(right.event as TaskTriggerKindV1)!,\n );\n const bundle = taskBundleV1Schema.parse({\n schemaVersion: \"gardener.task-bundle/v1\",\n taskId: authoring.id,\n name: authoring.name,\n description: authoring.description,\n instructions,\n triggers: authoredTriggers.map((trigger) => toContractTrigger(trigger, options, sourceName)),\n tools: authoring.tools,\n effects: expandEffectSelectors(authoring.effects.map(effectSelector)),\n ...effectOptionsOf(authoring.effects),\n network: authoring.network,\n limits: {\n runtimeSeconds: authoring.limits[\"runtime-seconds\"],\n maxTurns: authoring.limits[\"max-turns\"],\n maxToolCalls: authoring.limits[\"max-tool-calls\"],\n inputTokens: authoring.limits[\"input-tokens\"],\n outputTokens: authoring.limits[\"output-tokens\"],\n maxEffectOperations: authoring.limits[\"max-effect-operations\"],\n maxEffectBytes: authoring.limits[\"max-effect-bytes\"],\n },\n model: authoring.model ?? DEFAULT_TASK_MODEL,\n ...(authoring.draft === true ? { draft: true } : {}),\n });\n return {\n bundle,\n bundleHash: await canonicalSha256(bundle),\n canonicalBundle: canonicalJson(bundle),\n };\n}\n", "import { spawnSync } from \"node:child_process\";\nimport { createRequire } from \"node:module\";\n\nconst require = createRequire(import.meta.url);\n\nexport interface CommandResult {\n stdout: string;\n stderr: string;\n status: number;\n}\n\nexport function runCommand(\n command: string,\n args: string[],\n options: { cwd: string; input?: string; quiet?: boolean; allowFailure?: boolean; timeoutMs?: number },\n): CommandResult {\n if (!options.quiet) console.log(`$ ${[command, ...args].join(\" \")}`);\n const result = spawnSync(command, args, {\n cwd: options.cwd,\n input: options.input,\n encoding: \"utf8\",\n env: { ...process.env, NO_COLOR: \"1\" },\n stdio: [\"pipe\", \"pipe\", \"pipe\"],\n ...(options.timeoutMs === undefined ? {} : { timeout: options.timeoutMs }),\n });\n const stdout = result.stdout ?? \"\";\n const stderr = result.stderr ?? \"\";\n if (!options.quiet) {\n if (stdout) process.stdout.write(stdout);\n if (stderr) process.stderr.write(stderr);\n }\n if (result.error) {\n if ((result.error as NodeJS.ErrnoException).code === \"ETIMEDOUT\") {\n throw new Error(`Command timed out: ${command} ${args.join(\" \")}`);\n }\n throw result.error;\n }\n const status = result.status ?? 1;\n if (status !== 0 && !options.allowFailure) {\n if (options.quiet) {\n if (stdout) process.stdout.write(stdout);\n if (stderr) process.stderr.write(stderr);\n }\n throw new Error(`Command failed (${result.status ?? \"unknown\"}): ${command} ${args.join(\" \")}`);\n }\n return { stdout, stderr, status };\n}\n\nexport function workerOrigin(output: CommandResult, workerName: string): string {\n const combined = `${output.stdout}\\n${output.stderr}`;\n const urls = combined.match(/https:\\/\\/[a-zA-Z0-9.-]+\\.workers\\.dev/g) ?? [];\n const expected = urls.find((url) => new URL(url).hostname.startsWith(`${workerName}.`));\n const selected = expected ?? urls.at(-1);\n if (!selected) throw new Error(`Wrangler did not report a workers.dev URL for ${workerName}`);\n return selected.replace(/\\/$/, \"\");\n}\n\nexport function wrangler(\n repositoryRoot: string,\n workingDirectory: string,\n args: string[],\n input?: string,\n options?: { quiet?: boolean; allowFailure?: boolean },\n): CommandResult {\n return runCommand(process.execPath, [require.resolve(\"wrangler\"), ...args], {\n cwd: `${repositoryRoot}/${workingDirectory}`,\n ...(input === undefined ? {} : { input }),\n ...(options?.quiet === undefined ? {} : { quiet: options.quiet }),\n ...(options?.allowFailure === undefined ? {} : { allowFailure: options.allowFailure }),\n });\n}\n", "import { wrangler } from \"./commands.js\";\n\nexport interface D1DatabaseDescription {\n uuid: string;\n name: string;\n}\n\nexport interface CloudflareAccountDescription {\n id: string;\n name: string;\n}\n\nexport function selectedAccountId(repositoryRoot: string): string {\n return selectedAccount(repositoryRoot).id;\n}\n\nexport function selectedAccount(repositoryRoot: string): CloudflareAccountDescription {\n const result = wrangler(repositoryRoot, \".\", [\"whoami\", \"--json\"], undefined, {\n quiet: true,\n });\n const value = JSON.parse(result.stdout) as unknown;\n const accounts = collectAccounts(value);\n const requested = process.env.CLOUDFLARE_ACCOUNT_ID;\n if (requested) {\n const selected = accounts.find((account) => account.id === requested);\n if (!selected) throw new Error(\"CLOUDFLARE_ACCOUNT_ID is not available to the current Wrangler identity\");\n return selected;\n }\n if (accounts.length !== 1) {\n throw new Error(\"Set CLOUDFLARE_ACCOUNT_ID when the Wrangler identity belongs to multiple accounts\");\n }\n return accounts[0]!;\n}\n\nfunction collectAccounts(value: unknown): CloudflareAccountDescription[] {\n if (!value || typeof value !== \"object\") return [];\n const record = value as Record<string, unknown>;\n const collections = [record.accounts, record.memberships].filter(Array.isArray).flat();\n const found = new Map<string, CloudflareAccountDescription>();\n for (const item of collections) {\n if (!item || typeof item !== \"object\") continue;\n const account = item as Record<string, unknown>;\n const candidate = account.id ?? account.account_id ?? account.accountId;\n if (typeof candidate === \"string\" && /^[a-f0-9]{32}$/i.test(candidate)) {\n found.set(candidate, {\n id: candidate,\n name: typeof account.name === \"string\" ? account.name : candidate,\n });\n }\n }\n const direct = record.account_id ?? record.accountId;\n if (typeof direct === \"string\" && /^[a-f0-9]{32}$/i.test(direct) && !found.has(direct)) {\n found.set(direct, { id: direct, name: direct });\n }\n return [...found.values()];\n}\n\nexport function listDatabases(repositoryRoot: string): D1DatabaseDescription[] {\n const result = wrangler(repositoryRoot, \".\", [\"d1\", \"list\", \"--json\"], undefined, {\n quiet: true,\n });\n const value = JSON.parse(result.stdout) as unknown;\n if (!Array.isArray(value)) throw new Error(\"Wrangler returned an invalid D1 database list\");\n return value.flatMap((item) => {\n if (!item || typeof item !== \"object\") return [];\n const row = item as Record<string, unknown>;\n const uuid = typeof row.uuid === \"string\" ? row.uuid : row.id;\n return typeof uuid === \"string\" && typeof row.name === \"string\"\n ? [{ uuid, name: row.name }]\n : [];\n });\n}\n\nexport function workerExists(repositoryRoot: string, worker: string): boolean {\n const result = wrangler(repositoryRoot, \".\", [\n \"deployments\", \"list\", \"--name\", worker, \"--json\",\n ], undefined, { quiet: true, allowFailure: true });\n if (result.status === 0) {\n try {\n const deployments = JSON.parse(result.stdout) as unknown;\n return Array.isArray(deployments) ? deployments.length > 0 : true;\n } catch {\n throw new Error(`Wrangler returned invalid deployment data for Worker ${worker}`);\n }\n }\n const output = `${result.stdout}\\n${result.stderr}`;\n if (/not found|does not exist|10090/i.test(output)) return false;\n throw new Error(`Unable to determine whether Worker ${worker} exists`);\n}\n", "import { chmod, mkdir, rename, writeFile } from \"node:fs/promises\";\nimport { dirname } from \"node:path\";\n\nexport async function ensurePrivateDirectory(path: string): Promise<void> {\n await mkdir(path, { recursive: true, mode: 0o700 });\n await chmod(path, 0o700);\n}\n\nexport async function writePrivateJson(path: string, value: unknown): Promise<void> {\n await writePrivateText(path, `${JSON.stringify(value, null, 2)}\\n`);\n}\n\nexport async function writePrivateText(path: string, value: string): Promise<void> {\n await ensurePrivateDirectory(dirname(path));\n const temporary = `${path}.${process.pid}.tmp`;\n await writeFile(temporary, value, { mode: 0o600 });\n await chmod(temporary, 0o600);\n await rename(temporary, path);\n await chmod(path, 0o600);\n}\n", "import { resolve } from \"node:path\";\nimport { readActionsManifest, readProjectLock, type ActionsInstallationManifest } from \"./actions-installation.js\";\nimport { wrangler } from \"./commands.js\";\n\nexport async function setRepositoryEnabled(input: {\n workspace: string;\n repository: string;\n sourceRoot: string;\n enabled: boolean;\n}): Promise<{ repositoryId: string; enabled: boolean }> {\n const manifest = await requiredManifest(input.workspace);\n const repositoryId = enrolledRepositoryId(input.sourceRoot, manifest, input.repository);\n const enabled = input.enabled ? 1 : 0;\n executeD1(input.sourceRoot, manifest.cloudflare.database.name, manifest.cloudflare.runtimeConfig,\n `UPDATE actions_repository_enrollments SET enabled=${enabled},updated_at=CURRENT_TIMESTAMP WHERE repository_id=${sql(repositoryId)};`);\n const rows = queryD1(input.sourceRoot, manifest.cloudflare.database.name, manifest.cloudflare.runtimeConfig,\n `SELECT enabled FROM actions_repository_enrollments WHERE repository_id=${sql(repositoryId)};`);\n if (Number(rows[0]?.enabled) !== enabled) throw new Error(\"Repository enrollment did not update\");\n return { repositoryId, enabled: input.enabled };\n}\n\nexport async function setTaskEnabled(input: {\n workspace: string;\n repository: string;\n taskId: string;\n repositoryRoot: string;\n sourceRoot: string;\n enabled: boolean;\n}): Promise<{ repositoryId: string; taskId: string; bundleHash: string | null; enabled: boolean }> {\n const manifest = await requiredManifest(input.workspace);\n const repositoryId = enrolledRepositoryId(input.sourceRoot, manifest, input.repository);\n const enabled = input.enabled ? 1 : 0;\n const task = input.enabled ? (await readProjectLock(input.repositoryRoot)).tasks[input.taskId] : undefined;\n if (input.enabled && !task) throw new Error(`Task is not present in the current project lock: ${input.taskId}`);\n const bundleHash = task?.bundleHash ?? null;\n const predicate = bundleHash\n ? `repository_id=${sql(repositoryId)} AND task_id=${sql(input.taskId)} AND bundle_hash=${sql(bundleHash)}`\n : `repository_id=${sql(repositoryId)} AND task_id=${sql(input.taskId)}`;\n executeD1(input.sourceRoot, manifest.cloudflare.database.name, manifest.cloudflare.runtimeConfig,\n `UPDATE actions_repository_tasks SET enabled=${enabled},updated_at=CURRENT_TIMESTAMP WHERE ${predicate};`);\n const rows = queryD1(input.sourceRoot, manifest.cloudflare.database.name, manifest.cloudflare.runtimeConfig,\n bundleHash\n ? `SELECT enabled FROM actions_repository_tasks WHERE ${predicate};`\n : `SELECT COUNT(*) AS task_count,COALESCE(SUM(enabled),0) AS enabled_count FROM actions_repository_tasks WHERE ${predicate};`);\n if (bundleHash ? Number(rows[0]?.enabled) !== enabled : Number(rows[0]?.task_count) < 1 || Number(rows[0]?.enabled_count) !== 0) {\n throw new Error(\"Task enrollment was not found or did not update\");\n }\n return { repositoryId, taskId: input.taskId, bundleHash, enabled: input.enabled };\n}\n\nexport async function listActionsRepositories(input: {\n workspace: string;\n sourceRoot: string;\n}): Promise<{ repositories: Array<Record<string, unknown>> }> {\n const manifest = await requiredManifest(input.workspace);\n const rows = queryD1(input.sourceRoot, manifest.cloudflare.database.name, manifest.cloudflare.runtimeConfig,\n \"SELECT repository_id,owner_id,owner_login,repository_name,visibility,enabled,updated_at FROM actions_repository_enrollments ORDER BY owner_login,repository_name;\");\n return { repositories: rows };\n}\n\nexport async function listActionsTasks(input: {\n workspace: string;\n repository?: string;\n sourceRoot: string;\n}): Promise<{ tasks: Array<Record<string, unknown>> }> {\n const manifest = await requiredManifest(input.workspace);\n const predicate = input.repository\n ? `WHERE rt.repository_id=${sql(enrolledRepositoryId(input.sourceRoot, manifest, input.repository))}`\n : \"\";\n const rows = queryD1(input.sourceRoot, manifest.cloudflare.database.name, manifest.cloudflare.runtimeConfig,\n `SELECT rt.repository_id,rt.task_id,rt.source_path,rt.bundle_hash,rt.enabled,rt.updated_at FROM actions_repository_tasks rt ${predicate} ORDER BY rt.repository_id,rt.task_id;`);\n return { tasks: rows };\n}\n\nexport async function listActionsRuns(input: {\n workspace: string;\n repository?: string;\n sourceRoot: string;\n limit?: number;\n}): Promise<{ runs: Array<Record<string, unknown>> }> {\n const manifest = await requiredManifest(input.workspace);\n const limit = Math.max(1, Math.min(100, input.limit ?? 20));\n const predicate = input.repository\n ? `WHERE repository_id=${sql(enrolledRepositoryId(input.sourceRoot, manifest, input.repository))}`\n : \"\";\n const rows = queryD1(input.sourceRoot, manifest.cloudflare.database.name, manifest.cloudflare.runtimeConfig,\n `SELECT id,repository_id,github_run_id,github_run_attempt,bundle_hash,status,outcome_json,effect_receipt_json,created_at,updated_at FROM actions_task_runs ${predicate} ORDER BY created_at DESC,id DESC LIMIT ${limit};`);\n return { runs: rows.map(parseRunJson) };\n}\n\nexport async function showActionsRun(input: {\n workspace: string;\n runId: string;\n sourceRoot: string;\n}): Promise<{ run: Record<string, unknown>; audit: Array<Record<string, unknown>> }> {\n const manifest = await requiredManifest(input.workspace);\n const rows = queryD1(input.sourceRoot, manifest.cloudflare.database.name, manifest.cloudflare.runtimeConfig,\n `SELECT id,repository_id,github_run_id,github_run_attempt,bundle_hash,status,request_json,outcome_json,effect_receipt_json,created_at,updated_at FROM actions_task_runs WHERE id=${sql(input.runId)} LIMIT 1;`);\n if (rows.length !== 1) throw new Error(`Actions run not found: ${input.runId}`);\n const audit = queryD1(input.sourceRoot, manifest.cloudflare.database.name, manifest.cloudflare.runtimeConfig,\n `SELECT sequence,event,detail_json,created_at FROM actions_task_audit WHERE run_id=${sql(input.runId)} ORDER BY sequence;`)\n .map((row) => ({ ...row, detail: parseJson(row.detail_json) }));\n return { run: parseRunJson(rows[0]!), audit };\n}\n\nfunction enrolledRepositoryId(\n sourceRoot: string,\n manifest: ActionsInstallationManifest,\n repository: string,\n): string {\n if (!/^[A-Za-z0-9_.-]+\\/[A-Za-z0-9_.-]+$/.test(repository)) {\n throw new Error(\"Repository must use owner/name syntax\");\n }\n const [owner, name] = repository.split(\"/\") as [string, string];\n const rows = queryD1(sourceRoot, manifest.cloudflare.database.name, manifest.cloudflare.runtimeConfig,\n `SELECT repository_id FROM actions_repository_enrollments WHERE owner_login=${sql(owner)} COLLATE NOCASE AND repository_name=${sql(name)} COLLATE NOCASE;`);\n if (rows.length !== 1 || typeof rows[0]?.repository_id !== \"string\") {\n throw new Error(`Repository is not uniquely enrolled: ${repository}`);\n }\n return rows[0].repository_id;\n}\n\nasync function requiredManifest(workspace: string) {\n const manifest = await readActionsManifest(workspace);\n if (!manifest) throw new Error(`No Actions installation exists for workspace ${workspace}`);\n return manifest;\n}\n\nfunction executeD1(sourceRoot: string, database: string, config: string, command: string): void {\n wrangler(resolve(sourceRoot), \"apps/gardener\", [\n \"d1\", \"execute\", database, \"--remote\", \"--config\", config, \"--command\", command,\n ], undefined, { quiet: true });\n}\n\nfunction queryD1(sourceRoot: string, database: string, config: string, command: string): Array<Record<string, unknown>> {\n const result = wrangler(resolve(sourceRoot), \"apps/gardener\", [\n \"d1\", \"execute\", database, \"--remote\", \"--config\", config, \"--json\", \"--command\", command,\n ], undefined, { quiet: true });\n const value = JSON.parse(result.stdout) as unknown;\n if (!Array.isArray(value)) throw new Error(\"Wrangler returned invalid D1 query output\");\n return value.flatMap((entry) => {\n if (!entry || typeof entry !== \"object\") return [];\n const rows = (entry as { results?: unknown }).results;\n return Array.isArray(rows)\n ? rows.filter((row): row is Record<string, unknown> => Boolean(row) && typeof row === \"object\")\n : [];\n });\n}\n\nfunction parseRunJson(row: Record<string, unknown>): Record<string, unknown> {\n return {\n ...row,\n ...(typeof row.request_json === \"string\" ? { request: parseJson(row.request_json) } : {}),\n ...(typeof row.outcome_json === \"string\" ? { outcome: parseJson(row.outcome_json) } : {}),\n ...(typeof row.effect_receipt_json === \"string\" ? { effectReceipt: parseJson(row.effect_receipt_json) } : {}),\n };\n}\n\nfunction parseJson(value: unknown): unknown {\n if (typeof value !== \"string\") return null;\n try { return JSON.parse(value); }\n catch { throw new Error(\"D1 contains invalid JSON state\"); }\n}\n\nfunction sql(value: string): string {\n return `'${value.replaceAll(\"'\", \"''\")}'`;\n}\n", "import { basename, resolve } from \"node:path\";\nimport { runnerEffectReceiptV1Schema } from \"@gardener/protocol\";\nimport { z } from \"zod\";\nimport { readActionsManifest, readProjectLock } from \"./actions-installation.js\";\nimport { setTaskEnabled } from \"./actions-operations.js\";\nimport { runCommand, wrangler } from \"./commands.js\";\n\nconst repositorySlug = z.string().regex(/^[A-Za-z0-9_.-]+\\/[A-Za-z0-9_.-]+$/);\n\nexport interface ActionsQualificationReport {\n schemaVersion: \"gardener.actions-qualification/v1\";\n workspace: string;\n repository: string;\n qualifiedAt: string;\n tasks: Array<{\n taskId: string;\n label: string;\n issueNumber: number;\n issueUrl: string;\n runId: string;\n runUrl: string;\n commentId: string;\n commentUrl: string;\n bundleHash: string;\n }>;\n drills?: {\n negativeAdmission: { taskId: string; issueNumber: number; runId: string; rejected: true };\n cancellation: { taskId: string; issueNumber: number; runId: string; status: \"cancelled\" };\n reconciliation: { runsVerified: number; duplicateSettlementEvents: 0; duplicateEffectEvents: 0 };\n };\n}\n\nexport async function qualifyActions(input: {\n workspace: string;\n repository: string;\n repositoryRoot: string;\n sourceRoot: string;\n drills?: boolean;\n drillsOnly?: boolean;\n}): Promise<ActionsQualificationReport> {\n const repository = repositorySlug.parse(input.repository);\n const repositoryRoot = resolve(input.repositoryRoot);\n const sourceRoot = resolve(input.sourceRoot);\n const manifest = await readActionsManifest(input.workspace);\n if (!manifest) throw new Error(`No Actions installation exists for workspace ${input.workspace}`);\n const lock = await readProjectLock(repositoryRoot);\n const results: ActionsQualificationReport[\"tasks\"] = [];\n if (input.drillsOnly && !input.drills) throw new Error(\"--drills-only requires --drills\");\n\n if (!input.drillsOnly) {\n for (const [taskId, task] of Object.entries(lock.tasks).sort(([left], [right]) => left.localeCompare(right))) {\n const bundle = task.bundle as {\n triggers?: Array<{ kind?: unknown; labelsAll?: unknown }>;\n };\n const trigger = bundle.triggers?.[0];\n if (trigger?.kind !== \"github.issue.opened\" || !Array.isArray(trigger.labelsAll)\n || typeof trigger.labelsAll[0] !== \"string\") {\n throw new Error(`Task ${taskId} has no issue-opened qualification label`);\n }\n const label = trigger.labelsAll[0];\n runCommand(\"gh\", [\n \"label\", \"create\", label, \"--repo\", repository, \"--color\", \"0E8A16\", \"--force\",\n \"--description\", `Gardener task ${taskId}`,\n ], { cwd: repositoryRoot, quiet: true });\n\n const startedAt = new Date().toISOString();\n const issueOutput = runCommand(\"gh\", [\n \"issue\", \"create\", \"--repo\", repository,\n \"--title\", `Gardener qualification \u00B7 ${taskId} \u00B7 ${Date.now()}`,\n \"--body\", \"Disposable Gardener qualification issue. The generated task must inspect the repository and post exactly one marked comment.\",\n \"--label\", label,\n ], { cwd: repositoryRoot, quiet: true }).stdout.trim();\n const issueUrl = issueOutput.split(/\\s+/).find((value) => /^https:\\/\\/github\\.com\\//.test(value));\n if (!issueUrl) throw new Error(`GitHub did not return an issue URL for task ${taskId}`);\n const issueNumber = Number(new URL(issueUrl).pathname.split(\"/\").at(-1));\n if (!Number.isSafeInteger(issueNumber) || issueNumber < 1) throw new Error(\"GitHub returned an invalid issue number\");\n\n const run = await waitForWorkflowRun({\n repository,\n workflow: basename(task.workflow),\n startedAt,\n cwd: repositoryRoot,\n });\n await waitForRunCompletion(repositoryRoot, repository, run.databaseId, true);\n\n const comments = githubJson(repositoryRoot, [\n \"api\", `repos/${repository}/issues/${issueNumber}/comments`,\n ]) as Array<{ id?: unknown; html_url?: unknown; body?: unknown; user?: { login?: unknown } }>;\n const marked = comments.filter((comment) =>\n comment.user?.login === \"github-actions[bot]\"\n && typeof comment.body === \"string\"\n && comment.body.includes(\"<!-- gardener-operation:\")\n );\n if (marked.length !== 1) throw new Error(`Task ${taskId} produced ${marked.length} marked comments instead of one`);\n const comment = marked[0]!;\n if (typeof comment.id !== \"number\" || typeof comment.html_url !== \"string\") {\n throw new Error(`Task ${taskId} returned an invalid GitHub comment receipt`);\n }\n\n const d1 = await executeD1WithRetry(sourceRoot, [\n \"d1\", \"execute\", manifest.cloudflare.database.name,\n \"--remote\", \"--config\", manifest.cloudflare.runtimeConfig, \"--json\",\n \"--command\", `SELECT bundle_hash,effect_receipt_json FROM actions_task_runs WHERE github_run_id='${run.databaseId.replaceAll(\"'\", \"''\")}' AND effect_receipt_json IS NOT NULL;`,\n ]);\n const rows = d1Rows(JSON.parse(d1.stdout));\n if (rows.length !== 1 || typeof rows[0]?.effect_receipt_json !== \"string\") {\n throw new Error(`Task ${taskId} has no unique persisted effect receipt`);\n }\n const receipt = runnerEffectReceiptV1Schema.parse(JSON.parse(rows[0].effect_receipt_json));\n if (receipt.status !== \"applied\" || receipt.operations.length !== receipt.plannedOperations) {\n throw new Error(`Task ${taskId} effect receipt did not apply the complete ordered plan`);\n }\n const commentSteps = receipt.operations.filter((step) => step.receipt.kind === \"issue.comment.create\");\n if (commentSteps.length !== 1) {\n throw new Error(`Task ${taskId} receipt records ${commentSteps.length} issue comments instead of one`);\n }\n const commentStep = commentSteps[0]!;\n const receiptCommentId = commentStep.outputs.commentId;\n const receiptCommentUrl = commentStep.outputs.commentUrl ?? commentStep.receipt.resourceUrl;\n if (receiptCommentId !== String(comment.id) || receiptCommentUrl !== comment.html_url) {\n throw new Error(`Task ${taskId} D1 receipt does not match the GitHub comment`);\n }\n if (rows[0].bundle_hash !== task.bundleHash || receipt.bundleHash !== task.bundleHash) {\n throw new Error(`Task ${taskId} D1 receipt does not match the compiled bundle`);\n }\n\n results.push({\n taskId,\n label,\n issueNumber,\n issueUrl,\n runId: run.databaseId,\n runUrl: run.url,\n commentId: receiptCommentId,\n commentUrl: receiptCommentUrl,\n bundleHash: task.bundleHash,\n });\n }\n }\n\n const report: ActionsQualificationReport = {\n schemaVersion: \"gardener.actions-qualification/v1\",\n workspace: input.workspace,\n repository,\n qualifiedAt: new Date().toISOString(),\n tasks: results,\n };\n if (input.drills) {\n const successfulRuns = results.length > 0\n ? results.map((result) => result.runId)\n : (await queryRuns(sourceRoot, manifest,\n `SELECT github_run_id FROM actions_task_runs WHERE effect_receipt_json IS NOT NULL AND json_extract(request_json,'$.event.repository.fullName')=${sql(repository)} ORDER BY created_at DESC,id DESC LIMIT ${Math.max(1, Object.keys(lock.tasks).length)};`))\n .map((row) => String(row.github_run_id));\n report.drills = await qualifyFailureDrills({\n ...input,\n repository,\n repositoryRoot,\n sourceRoot,\n manifest,\n lock,\n successfulRuns,\n });\n }\n return report;\n}\n\nasync function qualifyFailureDrills(input: {\n workspace: string;\n repository: string;\n repositoryRoot: string;\n sourceRoot: string;\n manifest: NonNullable<Awaited<ReturnType<typeof readActionsManifest>>>;\n lock: Awaited<ReturnType<typeof readProjectLock>>;\n successfulRuns: string[];\n}): Promise<NonNullable<ActionsQualificationReport[\"drills\"]>> {\n const [taskId, task] = Object.entries(input.lock.tasks).sort(([left], [right]) => left.localeCompare(right))[0] ?? [];\n if (!taskId || !task) throw new Error(\"Failure drills require at least one compiled task\");\n const bundle = task.bundle as { triggers?: Array<{ kind?: unknown; labelsAll?: unknown }> };\n const trigger = bundle.triggers?.[0];\n if (trigger?.kind !== \"github.issue.opened\" || !Array.isArray(trigger.labelsAll)\n || typeof trigger.labelsAll[0] !== \"string\") {\n throw new Error(`Task ${taskId} has no issue-opened qualification label`);\n }\n const label = trigger.labelsAll[0];\n const workflow = basename(task.workflow);\n\n const taskControl = {\n workspace: input.workspace,\n repository: input.repository,\n taskId,\n repositoryRoot: input.repositoryRoot,\n sourceRoot: input.sourceRoot,\n };\n const remediation = `Run: gardener task enable --workspace ${input.workspace} --repository ${input.repository} --task ${taskId} --repository-root ${input.repositoryRoot} --source-root ${input.sourceRoot}`;\n await setTaskEnabled({ ...taskControl, enabled: false });\n let restoring: Promise<unknown> | undefined;\n const restore = () => restoring ??= setTaskEnabled({ ...taskControl, enabled: true });\n const emergencyRestore = (exitCode: number) => {\n console.error(`Qualification interrupted while task ${taskId} is disabled. ${remediation}`);\n void restore().then(\n () => process.exit(exitCode),\n () => process.exit(exitCode),\n );\n };\n const onInterrupt = () => emergencyRestore(130);\n const onTerminate = () => emergencyRestore(143);\n process.once(\"SIGINT\", onInterrupt);\n process.once(\"SIGTERM\", onTerminate);\n let negative: { taskId: string; issueNumber: number; runId: string; rejected: true };\n let negativeError: unknown;\n try {\n const issue = createQualificationIssue(input.repositoryRoot, input.repository, label, `negative admission \u00B7 ${taskId}`);\n const run = await waitForWorkflowRun({\n repository: input.repository,\n workflow,\n startedAt: issue.startedAt,\n cwd: input.repositoryRoot,\n });\n await waitForRunCompletion(input.repositoryRoot, input.repository, run.databaseId, false);\n assertNoMarkedComment(input.repositoryRoot, input.repository, issue.issueNumber, taskId);\n const rows = await queryRuns(input.sourceRoot, input.manifest,\n `SELECT status,effect_receipt_json FROM actions_task_runs WHERE github_run_id=${sql(run.databaseId)};`);\n if (rows.some((row) => row.status === \"completed\" || row.effect_receipt_json !== null)) {\n throw new Error(\"Disabled task produced a completed run or effect receipt\");\n }\n negative = { taskId, issueNumber: issue.issueNumber, runId: run.databaseId, rejected: true };\n } catch (error) {\n negativeError = error;\n throw error;\n } finally {\n process.removeListener(\"SIGINT\", onInterrupt);\n process.removeListener(\"SIGTERM\", onTerminate);\n try {\n await restore();\n } catch (restoreError) {\n throw new Error(`Failed to restore task ${taskId} after the negative drill. ${remediation}`, {\n cause: negativeError ?? restoreError,\n });\n }\n }\n\n const cancellationIssue = createQualificationIssue(\n input.repositoryRoot,\n input.repository,\n label,\n `cancellation \u00B7 ${taskId}`,\n );\n const cancellationRun = await waitForWorkflowRun({\n repository: input.repository,\n workflow,\n startedAt: cancellationIssue.startedAt,\n cwd: input.repositoryRoot,\n });\n await waitForTaskRun(input.sourceRoot, input.manifest, cancellationRun.databaseId, (row) =>\n row.status === \"admitted\" || row.status === \"running\"\n );\n // Normal cancellation is deferred until after the JavaScript action exits.\n // GitHub's force-cancel endpoint delivered SIGTERM to the updated runner and\n // was live-qualified to settle the durable task outcome before job teardown.\n runCommand(\"gh\", [\n \"api\", \"--method\", \"POST\",\n `repos/${input.repository}/actions/runs/${cancellationRun.databaseId}/force-cancel`,\n ], {\n cwd: input.repositoryRoot,\n quiet: true,\n });\n await waitForRunCompletion(input.repositoryRoot, input.repository, cancellationRun.databaseId, false);\n const cancelled = await waitForTaskRun(input.sourceRoot, input.manifest, cancellationRun.databaseId, (row) =>\n row.status === \"cancelled\"\n );\n if (cancelled.effect_receipt_json !== null) throw new Error(\"Cancelled task produced an effect receipt\");\n assertNoMarkedComment(input.repositoryRoot, input.repository, cancellationIssue.issueNumber, taskId);\n\n const runList = input.successfulRuns.map(sql).join(\",\");\n const events = runList.length === 0 ? [] : await queryRuns(input.sourceRoot, input.manifest,\n `SELECT r.github_run_id,r.github_run_attempt,a.event,COUNT(*) AS event_count FROM actions_task_runs r JOIN actions_task_audit a ON a.run_id=r.id WHERE r.github_run_id IN (${runList}) AND r.github_run_attempt=(SELECT MAX(latest.github_run_attempt) FROM actions_task_runs latest WHERE latest.github_run_id=r.github_run_id) GROUP BY r.github_run_id,r.github_run_attempt,a.event ORDER BY r.github_run_id,r.github_run_attempt,a.event;`);\n for (const runId of input.successfulRuns) {\n const runEvents = events.filter((row) => String(row.github_run_id) === runId);\n if (Number(runEvents.find((row) => row.event === \"task.settled\")?.event_count) !== 1\n || Number(runEvents.find((row) => row.event === \"effect.executed\")?.event_count) !== 1) {\n throw new Error(`Run ${runId} does not have one reconciled settlement and effect event`);\n }\n }\n\n return {\n negativeAdmission: negative,\n cancellation: {\n taskId,\n issueNumber: cancellationIssue.issueNumber,\n runId: cancellationRun.databaseId,\n status: \"cancelled\",\n },\n reconciliation: {\n runsVerified: input.successfulRuns.length,\n duplicateSettlementEvents: 0,\n duplicateEffectEvents: 0,\n },\n };\n}\n\nfunction createQualificationIssue(cwd: string, repository: string, label: string, drill: string): {\n issueNumber: number;\n startedAt: string;\n} {\n const startedAt = new Date().toISOString();\n const output = runCommand(\"gh\", [\n \"issue\", \"create\", \"--repo\", repository,\n \"--title\", `Gardener qualification drill \u00B7 ${drill} \u00B7 ${Date.now()}`,\n \"--body\", `Disposable Gardener ${drill} qualification issue.`,\n \"--label\", label,\n ], { cwd, quiet: true }).stdout.trim();\n const issueUrl = output.split(/\\s+/).find((value) => /^https:\\/\\/github\\.com\\//.test(value));\n const issueNumber = issueUrl ? Number(new URL(issueUrl).pathname.split(\"/\").at(-1)) : Number.NaN;\n if (!Number.isSafeInteger(issueNumber) || issueNumber < 1) throw new Error(\"GitHub returned an invalid drill issue number\");\n return { issueNumber, startedAt };\n}\n\nfunction assertNoMarkedComment(cwd: string, repository: string, issueNumber: number, taskId: string): void {\n const comments = githubJson(cwd, [\"api\", `repos/${repository}/issues/${issueNumber}/comments`]) as Array<{ body?: unknown }>;\n if (comments.some((comment) => typeof comment.body === \"string\" && comment.body.includes(\"<!-- gardener-operation:\"))) {\n throw new Error(`Task ${taskId} failure drill unexpectedly produced a marked comment`);\n }\n}\n\nasync function waitForTaskRun(\n sourceRoot: string,\n manifest: NonNullable<Awaited<ReturnType<typeof readActionsManifest>>>,\n githubRunId: string,\n accept: (row: Record<string, unknown>) => boolean,\n): Promise<Record<string, unknown>> {\n const directD1 = Boolean(process.env.CLOUDFLARE_API_TOKEN ?? process.env.CF_API_TOKEN);\n const attempts = directD1 ? 2_400 : 180;\n const delayMs = directD1 ? 250 : 5_000;\n for (let attempt = 0; attempt < attempts; attempt += 1) {\n const rows = await queryRunsFast(sourceRoot, manifest,\n `SELECT status,effect_receipt_json FROM actions_task_runs WHERE github_run_id=${sql(githubRunId)} ORDER BY github_run_attempt DESC LIMIT 1;`);\n if (rows[0] && accept(rows[0])) return rows[0];\n if (rows[0] && (rows[0].status === \"completed\" || rows[0].status === \"failed\")) {\n throw new Error(`Task run ${githubRunId} settled as ${String(rows[0].status)} instead of cancelled`);\n }\n await new Promise((resolvePromise) => setTimeout(resolvePromise, delayMs));\n }\n throw new Error(`Timed out waiting for task run ${githubRunId}`);\n}\n\nasync function queryRunsFast(\n sourceRoot: string,\n manifest: NonNullable<Awaited<ReturnType<typeof readActionsManifest>>>,\n command: string,\n): Promise<Array<Record<string, unknown>>> {\n const token = process.env.CLOUDFLARE_API_TOKEN ?? process.env.CF_API_TOKEN;\n if (!token) return queryRuns(sourceRoot, manifest, command);\n const response = await fetch(\n `https://api.cloudflare.com/client/v4/accounts/${encodeURIComponent(manifest.cloudflare.accountId)}/d1/database/${encodeURIComponent(manifest.cloudflare.database.id)}/query`,\n {\n method: \"POST\",\n headers: { authorization: `Bearer ${token}`, \"content-type\": \"application/json\" },\n body: JSON.stringify({ sql: command }),\n },\n );\n const body = await response.json().catch(() => null) as { success?: unknown; result?: unknown } | null;\n if (!response.ok || body?.success !== true) throw new Error(\"Cloudflare D1 qualification query failed\");\n return d1Rows(body.result);\n}\n\nasync function queryRuns(\n sourceRoot: string,\n manifest: NonNullable<Awaited<ReturnType<typeof readActionsManifest>>>,\n command: string,\n): Promise<Array<Record<string, unknown>>> {\n const result = await executeD1WithRetry(sourceRoot, [\n \"d1\", \"execute\", manifest.cloudflare.database.name,\n \"--remote\", \"--config\", manifest.cloudflare.runtimeConfig, \"--json\", \"--command\", command,\n ]);\n return d1Rows(JSON.parse(result.stdout));\n}\n\nfunction sql(value: string): string {\n return `'${value.replaceAll(\"'\", \"''\")}'`;\n}\n\nasync function waitForRunCompletion(\n cwd: string,\n repository: string,\n runId: string,\n expectSuccess: boolean,\n): Promise<void> {\n let lastError: unknown;\n for (let attempt = 0; attempt < 180; attempt += 1) {\n let value: { status?: unknown; conclusion?: unknown } | undefined;\n try {\n value = githubJson(cwd, [\n \"run\", \"view\", runId, \"--repo\", repository, \"--json\", \"status,conclusion\",\n ]) as { status?: unknown; conclusion?: unknown };\n lastError = undefined;\n } catch (error) {\n lastError = error;\n }\n if (value?.status === \"completed\") {\n if (expectSuccess && value.conclusion !== \"success\") {\n throw new Error(`GitHub run ${runId} concluded ${String(value.conclusion)}`);\n }\n if (!expectSuccess && value.conclusion === \"success\") {\n throw new Error(`GitHub run ${runId} unexpectedly succeeded`);\n }\n return;\n }\n await new Promise((resolvePromise) => setTimeout(resolvePromise, 5_000));\n }\n throw new Error(`Timed out waiting for GitHub run ${runId}`, { cause: lastError });\n}\n\nasync function waitForWorkflowRun(input: {\n repository: string;\n workflow: string;\n startedAt: string;\n cwd: string;\n}): Promise<{ databaseId: string; url: string }> {\n for (let attempt = 0; attempt < 30; attempt += 1) {\n const value = githubJson(input.cwd, [\n \"run\", \"list\", \"--repo\", input.repository, \"--workflow\", input.workflow,\n \"--event\", \"issues\", \"--limit\", \"5\", \"--json\", \"databaseId,url,createdAt\",\n ]) as Array<{ databaseId?: unknown; url?: unknown; createdAt?: unknown }>;\n const match = value.find((run) =>\n typeof run.databaseId === \"number\"\n && typeof run.url === \"string\"\n && typeof run.createdAt === \"string\"\n && run.createdAt >= input.startedAt\n );\n if (match) return { databaseId: String(match.databaseId), url: String(match.url) };\n await new Promise((resolvePromise) => setTimeout(resolvePromise, 2_000));\n }\n throw new Error(`Timed out waiting for ${input.workflow}`);\n}\n\nasync function executeD1WithRetry(sourceRoot: string, args: string[]) {\n let lastError: unknown;\n for (let attempt = 0; attempt < 3; attempt += 1) {\n try {\n return wrangler(sourceRoot, \"apps/gardener\", args, undefined, { quiet: true });\n } catch (error) {\n lastError = error;\n if (attempt < 2) await new Promise((resolvePromise) => setTimeout(resolvePromise, 2_000));\n }\n }\n throw lastError;\n}\n\nfunction githubJson(cwd: string, args: string[]): unknown {\n return JSON.parse(runCommand(\"gh\", args, { cwd, quiet: true }).stdout);\n}\n\nfunction d1Rows(value: unknown): Array<Record<string, unknown>> {\n if (!Array.isArray(value)) return [];\n return value.flatMap((result) => {\n if (!result || typeof result !== \"object\") return [];\n const rows = (result as { results?: unknown }).results;\n return Array.isArray(rows)\n ? rows.filter((row): row is Record<string, unknown> => Boolean(row) && typeof row === \"object\")\n : [];\n });\n}\n", "import { z } from \"zod\";\n\nconst identifier = z.string().min(1).max(160).regex(/^[A-Za-z0-9][A-Za-z0-9._:-]*$/);\nconst sha256 = z.string().regex(/^[a-f0-9]{64}$/);\nconst sha1 = z.string().regex(/^[a-f0-9]{40}$/);\nconst githubNumericId = z.string().regex(/^[1-9][0-9]{0,19}$/);\n\n/**\n * Serialized-byte ceiling shared by the effect plan artifact and its receipt,\n * in *decoded* bytes.\n *\n * Must equal `EFFECT_TRANSPORT_MAX_BYTES` in `@gardener/contracts`. It is\n * restated rather than imported because this package deliberately has no\n * dependency on contracts; `packages/runner`, which depends on both, is where\n * the two are asserted equal.\n */\nexport const EFFECT_TRANSPORT_MAX_BYTES = 4 * 1_024 * 1_024;\n\n/** Canonical byte length, or `null` when the value cannot be serialized at all. */\nfunction canonicalJsonByteLength(value: unknown): number | null {\n try {\n const encoded = JSON.stringify(value);\n if (encoded === undefined) return null;\n return new TextEncoder().encode(encoded).length;\n } catch {\n return null;\n }\n}\n\n/**\n * GitHub Actions event names Gardener admits over the wire. Kept in lockstep\n * with the contracts package; `pull_request_target` is excluded by design.\n */\nexport const runnerEventNameV1Schema = z.enum([\n \"issues\",\n \"issue_comment\",\n \"pull_request\",\n \"pull_request_review\",\n \"pull_request_review_comment\",\n \"push\",\n \"workflow_dispatch\",\n \"schedule\",\n \"discussion\",\n \"discussion_comment\",\n]);\nexport type RunnerEventNameV1 = z.infer<typeof runnerEventNameV1Schema>;\n\nexport const runnerHelloV1Schema = z.strictObject({\n schemaVersion: z.literal(\"gardener.runner.hello/v1\"),\n protocolVersion: z.literal(\"gardener.runner.rpc/v1\"),\n phase: z.enum([\"plan\", \"effects\"]),\n repositoryId: z.string().regex(/^[1-9][0-9]{0,19}$/),\n ownerId: z.string().regex(/^[1-9][0-9]{0,19}$/),\n runId: identifier,\n runAttempt: z.number().int().positive().max(1_000),\n workflowRef: z.string().min(1).max(1_024),\n jobWorkflowRef: z.string().min(1).max(1_024),\n eventName: runnerEventNameV1Schema,\n ref: z.string().min(1).max(1_024),\n runnerEnvironment: z.literal(\"github-hosted\"),\n commitSha: z.string().regex(/^[a-f0-9]{40}$/),\n agentHash: sha256,\n});\n\nconst runnerActionBaseFields = {\n schemaVersion: z.literal(\"gardener.runner.action/v1\"),\n sequence: z.number().int().positive().max(Number.MAX_SAFE_INTEGER),\n operationId: identifier,\n timeoutMs: z.number().int().positive().max(10 * 60 * 1_000),\n};\n\n/**\n * Read-only provider request executed by the planning bridge. The repository\n * token stays in the bridge process; neither the request nor its result can\n * carry credentials back to the runtime or the model.\n */\nexport const githubReadRequestV1Schema = z.discriminatedUnion(\"transport\", [\n z.strictObject({\n transport: z.literal(\"rest\"),\n method: z.enum([\"GET\", \"HEAD\"]),\n path: z.string().min(1).max(2_048),\n }),\n z.strictObject({\n transport: z.literal(\"graphql\"),\n query: z.string().min(1).max(32 * 1024),\n /**\n * Bounded by count and serialized size. Actions are canonicalized into\n * Durable Object storage, so an unbounded variables map would let a model\n * grow durable state without limit.\n */\n variables: z.record(z.string().min(1).max(128), z.unknown())\n .refine((value) => Object.keys(value).length <= 64, \"too many GraphQL variables\")\n .refine((value) => {\n const serialized = JSON.stringify(value);\n return serialized !== undefined && new TextEncoder().encode(serialized).byteLength <= 32 * 1024;\n }, \"GraphQL variables exceed the size limit\")\n .optional(),\n operationName: z.string().regex(/^[_A-Za-z][_0-9A-Za-z]{0,127}$/).optional(),\n }),\n]);\n\nexport const runnerActionV1Schema = z.discriminatedUnion(\"kind\", [\n z.strictObject({\n ...runnerActionBaseFields,\n kind: z.literal(\"shell.exec\"),\n command: z.string().min(1).max(64 * 1024),\n cwd: z.string().min(1).max(4_096),\n maxOutputBytes: z.number().int().positive().max(4 * 1024 * 1024),\n }),\n z.strictObject({\n ...runnerActionBaseFields,\n kind: z.literal(\"github.read\"),\n request: githubReadRequestV1Schema,\n maxOutputBytes: z.number().int().positive().max(1024 * 1024),\n }),\n /**\n * Trusted working-tree capture.\n *\n * Only the runtime issues this, and only once it holds a durable proposal\n * that materializes repository changes. There is deliberately no field a\n * model could fill: no paths, no directory, no content, no filters. The\n * whole tree is captured, judged by Git against a baseline the runner took\n * before the first task command ran, so what lands in a commit is what the\n * runner observed rather than what the model claimed.\n *\n * `baseSha` is the commit the runtime bound the run to. The runner refuses\n * the action unless its own pre-execution baseline was taken against the\n * same commit, so neither side can drift alone.\n */\n z.strictObject({\n ...runnerActionBaseFields,\n kind: z.literal(\"repository.capture\"),\n baseSha: sha1,\n maxOutputBytes: z.number().int().positive().max(EFFECT_TRANSPORT_MAX_BYTES),\n }),\n]);\n\n/**\n * Plan-bound pointer to one capture. Mirrors `taskCaptureRefV1Schema` in\n * `@gardener/contracts`; restated rather than imported for the same reason as\n * every other shape here \u2014 this package has no contracts dependency.\n */\nexport const runnerCaptureRefV1Schema = z.strictObject({\n schemaVersion: z.literal(\"gardener.task-capture-ref/v1\"),\n captureId: identifier,\n baseSha: sha1,\n manifestSha256: sha256,\n changesSha256: sha256,\n fileCount: z.number().int().positive().max(Number.MAX_SAFE_INTEGER),\n sizeBytes: z.number().int().nonnegative().max(Number.MAX_SAFE_INTEGER),\n});\nexport type RunnerCaptureRefV1 = z.infer<typeof runnerCaptureRefV1Schema>;\n\n/**\n * Metadata-only capture envelope, carried in a capture action's `stdout`.\n *\n * Everything here is a digest, a count, or canonical manifest *text*. There is\n * no field for file bytes and no field for a runner-local path, and the object\n * is strict, so a capture crossing the Cap'n Web boundary cannot carry either\n * even by accident. The artifact directory stays in the runner process; the\n * runtime learns only what it must bind into the plan.\n *\n * The manifest travels as canonical JSON text rather than as a parsed object\n * on purpose. `manifestSha256` then fixes exactly the bytes the runtime\n * re-parses with the authoritative contracts schema, and this package does not\n * have to restate a manifest shape it cannot keep in step.\n */\nexport const runnerCaptureResultV1Schema = z.discriminatedUnion(\"status\", [\n z.strictObject({\n schemaVersion: z.literal(\"gardener.runner.capture-result/v1\"),\n /** The working tree matched the checked-out commit; there is nothing to commit. */\n status: z.literal(\"unchanged\"),\n }),\n z.strictObject({\n schemaVersion: z.literal(\"gardener.runner.capture-result/v1\"),\n status: z.literal(\"captured\"),\n ref: runnerCaptureRefV1Schema,\n manifestJson: z.string().min(2).max(EFFECT_TRANSPORT_MAX_BYTES),\n }),\n]);\nexport type RunnerCaptureResultV1 = z.infer<typeof runnerCaptureResultV1Schema>;\n\nexport const runnerActionResultV1Schema = z.strictObject({\n schemaVersion: z.literal(\"gardener.runner.action-result/v1\"),\n sequence: z.number().int().positive().max(Number.MAX_SAFE_INTEGER),\n operationId: identifier,\n status: z.enum([\"completed\", \"failed\", \"cancelled\", \"timed_out\"]),\n exitCode: z.number().int().min(0).max(255).nullable(),\n stdout: z.string().max(4 * 1024 * 1024),\n stderr: z.string().max(4 * 1024 * 1024),\n outputTruncated: z.boolean(),\n}).superRefine((result, context) => {\n const processExited = result.status === \"completed\" || result.status === \"failed\";\n if (processExited !== (result.exitCode !== null)) {\n context.addIssue({\n code: \"custom\",\n path: [\"exitCode\"],\n message: processExited ? \"Completed and failed commands require an exit code\" : \"Cancelled and timed-out commands cannot have an exit code\",\n });\n }\n});\n\n/**\n * Untrusted event payload reported by the runner. It deliberately carries no\n * repository, run, ref, commit, or actor identity: the runtime takes every one\n * of those from the verified OIDC hello, so a tampered payload cannot rebind a\n * run to another repository or actor.\n */\nconst eventActor = z.strictObject({\n id: githubNumericId,\n login: z.string().min(1).max(100),\n});\n\nconst eventLabels = z.array(z.string().trim().min(1).max(100)).max(100);\nconst eventBody = z.string().max(65_536).nullable();\nconst eventNodeId = z.string().min(1).max(256).regex(/^[A-Za-z0-9_=-]+$/);\nconst eventChangedLabel = z.string().trim().min(1).max(100);\n/** GitHub's `author_association`; restated from `@gardener/contracts`. Optional for older bridge pins. */\nconst eventAuthorAssociation = z.enum([\n \"OWNER\",\n \"MEMBER\",\n \"COLLABORATOR\",\n \"CONTRIBUTOR\",\n \"FIRST_TIME_CONTRIBUTOR\",\n \"FIRST_TIMER\",\n \"MANNEQUIN\",\n \"NONE\",\n]).optional();\n/** On an edited event, the body before the edit; present only when the edit changed it. */\nconst eventEdited = { previousBody: z.string().max(65_536).optional() };\n\nconst eventIssue = z.strictObject({\n id: githubNumericId,\n number: z.number().int().positive(),\n title: z.string().max(1_024),\n body: eventBody,\n // Older immutable bridge pins omit these fields. Current bridge code emits\n // them, but the runtime accepts the old shape so deploys do not strand runs.\n state: z.enum([\"open\", \"closed\"]).optional(),\n updatedAt: z.iso.datetime().optional(),\n labels: eventLabels,\n author: eventActor,\n authorAssociation: eventAuthorAssociation,\n});\n\nconst eventPullRequestRepository = z.strictObject({\n id: githubNumericId,\n fullName: z.string().regex(/^[A-Za-z0-9_.-]+\\/[A-Za-z0-9_.-]+$/).max(201),\n});\n\nconst eventPullRequest = z.strictObject({\n id: githubNumericId,\n number: z.number().int().positive(),\n title: z.string().max(1_024),\n body: eventBody,\n labels: eventLabels,\n author: eventActor,\n authorAssociation: eventAuthorAssociation,\n draft: z.boolean(),\n state: z.enum([\"open\", \"closed\"]),\n merged: z.boolean(),\n updatedAt: z.iso.datetime().optional(),\n base: z.strictObject({ ref: z.string().min(1).max(255), sha: sha1, repo: eventPullRequestRepository }),\n head: z.strictObject({ ref: z.string().min(1).max(255), sha: sha1, repo: eventPullRequestRepository.nullable() }),\n});\n\nconst eventComment = z.strictObject({\n id: githubNumericId,\n body: eventBody,\n updatedAt: z.iso.datetime().optional(),\n author: eventActor,\n authorAssociation: eventAuthorAssociation,\n});\n\nconst eventReview = z.strictObject({\n id: githubNumericId,\n state: z.enum([\"approved\", \"changes_requested\", \"commented\", \"dismissed\", \"pending\"]),\n body: eventBody,\n author: eventActor,\n authorAssociation: eventAuthorAssociation,\n});\n\nconst eventDiscussion = z.strictObject({\n id: githubNumericId,\n nodeId: eventNodeId,\n number: z.number().int().positive(),\n title: z.string().max(1_024),\n body: eventBody,\n labels: eventLabels,\n author: eventActor,\n authorAssociation: eventAuthorAssociation,\n category: z.string().min(1).max(100),\n answered: z.boolean(),\n state: z.enum([\"open\", \"closed\"]).optional(),\n updatedAt: z.iso.datetime().optional(),\n});\n\nconst eventDiscussionComment = z.strictObject({\n id: githubNumericId,\n nodeId: eventNodeId,\n body: eventBody,\n updatedAt: z.iso.datetime().optional(),\n author: eventActor,\n authorAssociation: eventAuthorAssociation,\n});\n\nconst eventPush = z.strictObject({\n ref: z.string().min(1).max(1_024),\n before: sha1,\n after: sha1,\n forced: z.boolean(),\n commits: z.array(z.strictObject({\n sha: sha1,\n message: z.string().max(4_096),\n author: z.strictObject({ name: z.string().max(200), email: z.string().max(320) }),\n })).max(20),\n /** Count present in `commits`; never claimed to be the push total. */\n includedCommits: z.number().int().min(0).max(20),\n commitsTruncated: z.boolean(),\n});\n\n/**\n * Repository facts that exist only in the event payload.\n *\n * Repository identity is otherwise derived from the OIDC hello and never from\n * anything the runner says, which is why this member is so narrow. The default\n * branch is the exception: it is not an OIDC claim and not part of enrollment,\n * yet every exact operation embeds it, so it has to travel with the event. It\n * is read from the payload rather than fetched at apply time because it is\n * mutable, and a later fetch could return a value that was never true for this\n * run while silently changing canonical operation identity. The apply job\n * re-reads the same payload and compares, so a runner that lied about it\n * cannot get the plan applied.\n */\nconst eventRepository = z.strictObject({ defaultBranch: z.string().trim().min(1).max(255) });\n\nfunction runnerEventMember<Kind extends string, Shape extends z.ZodRawShape>(kind: Kind, shape: Shape) {\n return z.strictObject({\n schemaVersion: z.literal(\"gardener.runner.event/v1\"),\n kind: z.literal(kind),\n repository: eventRepository,\n ...shape,\n });\n}\n\nconst issuePayload = { issue: eventIssue };\nconst pullRequestPayload = { pullRequest: eventPullRequest };\nconst discussionPayload = { discussion: eventDiscussion };\n\nexport const runnerEventV1Schema = z.discriminatedUnion(\"kind\", [\n runnerEventMember(\"github.issue.opened\", issuePayload),\n runnerEventMember(\"github.issue.edited\", { ...issuePayload, ...eventEdited }),\n runnerEventMember(\"github.issue.labeled\", { ...issuePayload, label: eventChangedLabel }),\n runnerEventMember(\"github.issue.unlabeled\", { ...issuePayload, label: eventChangedLabel }),\n runnerEventMember(\"github.issue.reopened\", issuePayload),\n runnerEventMember(\"github.issue_comment.created\", { ...issuePayload, comment: eventComment }),\n runnerEventMember(\"github.issue_comment.edited\", { ...issuePayload, comment: eventComment, ...eventEdited }),\n runnerEventMember(\"github.pull_request.opened\", pullRequestPayload),\n runnerEventMember(\"github.pull_request.reopened\", pullRequestPayload),\n runnerEventMember(\"github.pull_request.synchronize\", pullRequestPayload),\n runnerEventMember(\"github.pull_request.ready_for_review\", pullRequestPayload),\n runnerEventMember(\"github.pull_request.converted_to_draft\", pullRequestPayload),\n runnerEventMember(\"github.pull_request.edited\", { ...pullRequestPayload, ...eventEdited }),\n runnerEventMember(\"github.pull_request.labeled\", { ...pullRequestPayload, label: eventChangedLabel }),\n runnerEventMember(\"github.pull_request.unlabeled\", { ...pullRequestPayload, label: eventChangedLabel }),\n runnerEventMember(\"github.pull_request_review.submitted\", { ...pullRequestPayload, review: eventReview }),\n runnerEventMember(\"github.pull_request_review_comment.created\", { ...pullRequestPayload, comment: eventComment }),\n runnerEventMember(\"github.pull_request_review_comment.edited\", { ...pullRequestPayload, comment: eventComment, ...eventEdited }),\n runnerEventMember(\"github.push\", { push: eventPush }),\n runnerEventMember(\"github.workflow_dispatch\", {\n prompt: z.string().trim().min(1).max(20_000).optional(),\n // The issue or pull request a manual run targets, read by the runner from\n // the repository when the run starts.\n issue: eventIssue.optional(),\n pullRequest: eventPullRequest.optional(),\n }).refine((event) => event.issue === undefined || event.pullRequest === undefined, {\n message: \"a manual run may target an issue or a pull request, not both\",\n }),\n runnerEventMember(\"github.schedule\", { cron: z.string().trim().min(1).max(100) }),\n runnerEventMember(\"github.discussion.created\", discussionPayload),\n runnerEventMember(\"github.discussion.edited\", { ...discussionPayload, ...eventEdited }),\n runnerEventMember(\"github.discussion.answered\", discussionPayload),\n runnerEventMember(\"github.discussion.unanswered\", discussionPayload),\n runnerEventMember(\"github.discussion.labeled\", { ...discussionPayload, label: eventChangedLabel }),\n runnerEventMember(\"github.discussion.unlabeled\", { ...discussionPayload, label: eventChangedLabel }),\n runnerEventMember(\"github.discussion_comment.created\", { ...discussionPayload, comment: eventDiscussionComment }),\n runnerEventMember(\"github.discussion_comment.edited\", { ...discussionPayload, comment: eventDiscussionComment, ...eventEdited }),\n]);\n\n/**\n * Step name from the ordered plan. Mirrors `taskStepNameV1Schema` in\n * `@gardener/contracts`; the protocol package deliberately has no dependency on\n * contracts, so the pattern is restated rather than imported.\n */\nconst stepName = z.string().regex(/^[a-z][a-z0-9]*(?:[_-][a-z0-9]+)*$/).max(63);\n\n/** Every URL a receipt may carry must be a real GitHub web link. */\nconst githubUrl = z.url().refine(\n (value) => new URL(value).origin === \"https://github.com\",\n \"Expected an HTTPS github.com URL\",\n);\n\n/**\n * Per-operation receipt, structurally mirroring `operationReceiptSchema` in\n * `@gardener/contracts`.\n *\n * `kind` is a bounded string rather than the 29-value enum for the same\n * dependency reason: duplicating the enum in two packages is exactly the drift\n * this boundary must not have. The runtime re-parses every receipt with the\n * contracts schema before it is stored, so the authoritative enum is still\n * enforced before anything is persisted.\n */\nexport const runnerOperationReceiptV1Schema = z.strictObject({\n schemaVersion: z.literal(\"v2\"),\n operationId: identifier,\n operationHash: sha256,\n kind: z.string().min(1).max(100).regex(/^[a-z][a-z_]*(?:\\.[a-z][a-z_]*)+$/),\n status: z.enum([\"succeeded\", \"failed\", \"skipped\", \"conflicted\"]),\n attempt: z.number().int().positive(),\n attemptedAt: z.iso.datetime(),\n completedAt: z.iso.datetime(),\n providerRequestId: z.string().min(1).max(255).optional(),\n resourceUrl: githubUrl.optional(),\n error: z.strictObject({\n code: z.string().min(1).max(100),\n message: z.string().min(1).max(2_000),\n retryable: z.boolean(),\n }).optional(),\n}).superRefine((receipt, context) => {\n if (Date.parse(receipt.completedAt) < Date.parse(receipt.attemptedAt)) {\n context.addIssue({ code: \"custom\", path: [\"completedAt\"], message: \"operation cannot complete before it was attempted\" });\n }\n if ((receipt.status === \"failed\" || receipt.status === \"conflicted\") && !receipt.error) {\n context.addIssue({ code: \"custom\", path: [\"error\"], message: \"failed and conflicted receipts require an error\" });\n }\n if ((receipt.status === \"succeeded\" || receipt.status === \"skipped\") && receipt.error) {\n context.addIssue({ code: \"custom\", path: [\"error\"], message: \"successful receipts cannot contain an error\" });\n }\n});\nexport type RunnerOperationReceiptV1 = z.infer<typeof runnerOperationReceiptV1Schema>;\n\n/** One applied step: the plan's step name plus the provider receipt it produced. */\nconst runnerScalarOutputV1Schema = z.union([\n z.string().max(65_536),\n z.number().safe(),\n z.boolean(),\n z.null(),\n]);\n\nexport const runnerPlanStepReceiptV1Schema = z.strictObject({\n stepName,\n receipt: runnerOperationReceiptV1Schema,\n /** Scalar provider outputs needed to resolve references after a retry. */\n outputs: z.record(z.string().min(1).max(100), runnerScalarOutputV1Schema).default({}),\n /**\n * `updated_at` of the step's issue, pull request, or discussion read back\n * after it succeeded. A later step on the same resource accepts it as the\n * plan's own write, including after a resume.\n */\n resourceVersion: z.strictObject({\n resource: z.string().regex(/^(?:issue|pull|discussion):[1-9][0-9]{0,15}$/),\n updatedAt: z.iso.datetime({ offset: true }),\n }).optional(),\n});\nexport type RunnerPlanStepReceiptV1 = z.infer<typeof runnerPlanStepReceiptV1Schema>;\n\n/**\n * Receipt for one ordered plan application.\n *\n * Failure policy is stop-and-resume: the apply job halts on the first failed or\n * conflicted step and never runs a later dependent effect, so `operations` is a\n * prefix of the plan. `status` and `stoppedAtStep` make that prefix explicit\n * rather than leaving it to be inferred from a length comparison.\n */\nexport const runnerEffectReceiptV1Schema = z.strictObject({\n schemaVersion: z.literal(\"gardener.runner.effect-receipt/v1\"),\n planRunId: identifier,\n bundleHash: sha256,\n artifactSha256: sha256,\n /** Digest of the changes artifact, when the plan materialized repository changes. */\n changesSha256: sha256.optional(),\n /**\n * Number of operations the plan this receipt answers contained. Without it a\n * receipt cannot be shown to be complete: `operations.length` alone says\n * nothing about how many steps were supposed to run, so a truncated apply\n * would read as a successful one.\n */\n plannedOperations: z.number().int().positive().max(Number.MAX_SAFE_INTEGER),\n status: z.enum([\"running\", \"applied\", \"stopped\"]),\n /** The step that halted the plan, or null when every step in the plan ran. */\n stoppedAtStep: stepName.nullable(),\n /**\n * Recorded steps, in plan order. No count ceiling here either \u2014 the bound is\n * `EFFECT_TRANSPORT_MAX_BYTES`, enforced below over the canonical receipt.\n */\n operations: z.array(runnerPlanStepReceiptV1Schema).min(1),\n}).superRefine((receipt, context) => {\n const bytes = canonicalJsonByteLength(receipt);\n if (bytes === null) {\n context.addIssue({ code: \"custom\", message: \"receipt cannot be canonically serialized\" });\n } else if (bytes > EFFECT_TRANSPORT_MAX_BYTES) {\n context.addIssue({\n code: \"custom\",\n message: `receipt serializes to ${bytes} bytes but the transport carries at most ${EFFECT_TRANSPORT_MAX_BYTES}`,\n });\n }\n if (receipt.operations.length > receipt.plannedOperations) {\n context.addIssue({\n code: \"custom\",\n path: [\"operations\"],\n message: `receipt records ${receipt.operations.length} steps but the plan contained ${receipt.plannedOperations}`,\n });\n }\n const stepNames = receipt.operations.map((entry) => entry.stepName);\n if (new Set(stepNames).size !== stepNames.length) {\n context.addIssue({ code: \"custom\", path: [\"operations\"], message: \"step names must be unique within a receipt\" });\n }\n const operationIds = receipt.operations.map((entry) => entry.receipt.operationId);\n if (new Set(operationIds).size !== operationIds.length) {\n context.addIssue({ code: \"custom\", path: [\"operations\"], message: \"operation IDs must be unique within a receipt\" });\n }\n const halted = receipt.operations.filter((entry) => entry.receipt.status === \"failed\" || entry.receipt.status === \"conflicted\");\n if (receipt.status === \"running\" || receipt.status === \"applied\") {\n if (halted.length > 0) {\n context.addIssue({ code: \"custom\", path: [\"status\"], message: `${receipt.status} plans cannot contain a failed or conflicted step` });\n }\n if (receipt.stoppedAtStep !== null) {\n context.addIssue({ code: \"custom\", path: [\"stoppedAtStep\"], message: `${receipt.status} plans did not stop at a step` });\n }\n if (receipt.status === \"applied\" && receipt.operations.length !== receipt.plannedOperations) {\n context.addIssue({\n code: \"custom\",\n path: [\"operations\"],\n message: `an applied plan must record all ${receipt.plannedOperations} planned steps, not ${receipt.operations.length}`,\n });\n }\n if (receipt.status === \"running\" && receipt.operations.length >= receipt.plannedOperations) {\n context.addIssue({\n code: \"custom\",\n path: [\"operations\"],\n message: \"a running receipt must be an incomplete successful prefix\",\n });\n }\n return;\n }\n const last = receipt.operations.at(-1);\n if (last === undefined || halted.length !== 1 || halted[0] !== last) {\n context.addIssue({\n code: \"custom\",\n path: [\"operations\"],\n message: \"a stopped plan halts at exactly one failed or conflicted step, which must be the last recorded step\",\n });\n return;\n }\n if (receipt.stoppedAtStep !== last.stepName) {\n context.addIssue({ code: \"custom\", path: [\"stoppedAtStep\"], message: \"stoppedAtStep must name the halting step\" });\n }\n});\n\n/** Exact base64 length for `bytes` decoded bytes, including padding. */\nfunction base64EncodedLength(bytes: number): number {\n return 4 * Math.ceil(bytes / 3);\n}\n\n/** Decoded byte count of a syntactically valid base64 string, without decoding it. */\nexport function base64DecodedLength(encoded: string): number {\n const padding = encoded.endsWith(\"==\") ? 2 : encoded.endsWith(\"=\") ? 1 : 0;\n return (encoded.length / 4) * 3 - padding;\n}\n\n/**\n * Encoded effect plan handed from planning to apply.\n *\n * `EFFECT_TRANSPORT_MAX_BYTES` is stated in *decoded* bytes, which is the unit\n * the contracts package enforces the plan in. The string length bound below is\n * the exact base64 expansion of that same number, and the refine re-checks the\n * decoded length precisely, so \"4 MiB\" means the same thing on both sides of\n * the boundary instead of silently meaning 3 MiB of payload.\n *\n * File bytes never travel here \u2014 they live in the separate changes artifact\n * identified by `changesSha256` \u2014 so this bounds plan structure only.\n */\nexport const runnerEffectArtifactV1Schema = z.strictObject({\n schemaVersion: z.literal(\"gardener.runner.effect-artifact/v1\"),\n sha256,\n bytesBase64: z.string()\n .min(1)\n .max(base64EncodedLength(EFFECT_TRANSPORT_MAX_BYTES))\n /**\n * Deliberately a flat character class rather than the grouped\n * `(?:[A-Za-z0-9+/]{4})*` form. V8 recurses on that quantifier and throws\n * `RangeError: Maximum call stack size exceeded` on a multi-megabyte\n * string, which the old 128 KiB cap hid; at this size that is a denial of\n * service reachable from a planning artifact. The `% 4` check below\n * restores the group alignment the grouped pattern used to provide.\n */\n .regex(/^[A-Za-z0-9+/]*={0,2}$/)\n .refine(\n (value) => value.length % 4 === 0,\n \"Expected a padded base64 string\",\n )\n .refine(\n (value) => base64DecodedLength(value) <= EFFECT_TRANSPORT_MAX_BYTES,\n `Expected at most ${EFFECT_TRANSPORT_MAX_BYTES} decoded bytes`,\n ),\n /**\n * Digest of the repository-changes artifact this plan materializes, when it\n * materializes one. Bound here so apply can refuse a plan/changes mismatch\n * before it writes anything.\n */\n changesSha256: sha256.optional(),\n});\n\nexport const runnerTerminalV1Schema = z.strictObject({\n schemaVersion: z.literal(\"gardener.runner.terminal/v1\"),\n status: z.enum([\"completed\", \"failed\", \"cancelled\"]),\n summary: z.string().min(1).max(16 * 1024),\n lastServerSequence: z.number().int().nonnegative().max(Number.MAX_SAFE_INTEGER),\n lastCompletedSequence: z.number().int().nonnegative().max(Number.MAX_SAFE_INTEGER),\n effectArtifact: runnerEffectArtifactV1Schema.optional(),\n});\n\nexport const resumeCursorV1Schema = z.strictObject({\n schemaVersion: z.literal(\"gardener.runner.cursor/v1\"),\n lastServerSequence: z.number().int().nonnegative().max(Number.MAX_SAFE_INTEGER),\n lastCompletedSequence: z.number().int().nonnegative().max(Number.MAX_SAFE_INTEGER),\n});\n\nexport type RunnerHelloV1 = z.infer<typeof runnerHelloV1Schema>;\nexport type GitHubReadRequestV1 = z.infer<typeof githubReadRequestV1Schema>;\nexport type RunnerActionV1 = z.infer<typeof runnerActionV1Schema>;\nexport type RunnerShellActionV1 = Extract<RunnerActionV1, { kind: \"shell.exec\" }>;\nexport type RunnerGitHubReadActionV1 = Extract<RunnerActionV1, { kind: \"github.read\" }>;\nexport type RunnerCaptureActionV1 = Extract<RunnerActionV1, { kind: \"repository.capture\" }>;\nexport type RunnerActionResultV1 = z.infer<typeof runnerActionResultV1Schema>;\nexport type RunnerEventV1 = z.infer<typeof runnerEventV1Schema>;\nexport type RunnerEffectReceiptV1 = z.infer<typeof runnerEffectReceiptV1Schema>;\nexport type RunnerEffectArtifactV1 = z.infer<typeof runnerEffectArtifactV1Schema>;\nexport type RunnerTerminalV1 = z.infer<typeof runnerTerminalV1Schema>;\nexport type ResumeCursorV1 = z.infer<typeof resumeCursorV1Schema>;\n", "export function parse(args: string[]): {\n positional: string[];\n flags: Map<string, string | true>;\n} {\n const positional: string[] = [];\n const flags = new Map<string, string | true>();\n const boolean = new Set([\"yes\", \"personal\", \"verbose\", \"qualification\", \"execute\", \"dry-run\", \"demos\", \"drills\", \"drills-only\"]);\n for (let index = 0; index < args.length; index += 1) {\n const value = args[index]!;\n if (!value.startsWith(\"--\")) {\n positional.push(value);\n continue;\n }\n const name = value.slice(2);\n if (!name || flags.has(name)) throw new Error(`Invalid or duplicate option: ${value}`);\n if (boolean.has(name)) {\n flags.set(name, true);\n continue;\n }\n const next = args[index + 1];\n if (!next || next.startsWith(\"--\")) throw new Error(`Missing value for ${value}`);\n flags.set(name, next);\n index += 1;\n }\n return { positional, flags };\n}\n", "import { existsSync } from \"node:fs\";\nimport { dirname, join, resolve } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\n\nexport function defaultSourceRoot(cwd = process.cwd(), moduleUrl = import.meta.url): string {\n const packaged = resolve(dirname(fileURLToPath(moduleUrl)), \"..\", \"assets\");\n return existsSync(join(packaged, \"gardener-distribution.json\")) ? packaged : cwd;\n}\n", "import { stdout } from \"node:process\";\n\nconst ANSI = {\n reset: \"\\u001b[0m\",\n bold: \"\\u001b[1m\",\n dim: \"\\u001b[2m\",\n red: \"\\u001b[31m\",\n green: \"\\u001b[32m\",\n yellow: \"\\u001b[33m\",\n cyan: \"\\u001b[36m\",\n} as const;\n\nexport function colorsEnabled(): boolean {\n if (Object.prototype.hasOwnProperty.call(process.env, \"NO_COLOR\")) return false;\n if (process.env.TERM === \"dumb\") return false;\n if (process.env.FORCE_COLOR === \"0\") return false;\n return stdout.isTTY === true || Boolean(process.env.FORCE_COLOR);\n}\n\nfunction paint(code: string, value: string): string {\n return colorsEnabled() ? `${code}${value}${ANSI.reset}` : value;\n}\n\n/**\n * Writes an operator warning to stderr. Warnings go to stderr so that piping\n * stdout into a file or a JSON parser never silently discards them, and never\n * corrupts the JSON the command emits on stdout.\n */\nexport function warn(message: string): void {\n process.stderr.write(`${paint(ANSI.yellow, `warning: ${message}`)}\\n`);\n}\n\nexport const terminal = {\n warn,\n title: (value: string): string => paint(`${ANSI.bold}${ANSI.green}`, value),\n heading: (value: string): string => paint(`${ANSI.bold}${ANSI.green}`, value),\n strong: (value: string): string => paint(ANSI.bold, value),\n muted: (value: string): string => paint(ANSI.dim, value),\n success: (value: string): string => paint(ANSI.green, value),\n value: (value: string): string => paint(ANSI.cyan, value),\n caution: (value: string): string => paint(ANSI.yellow, value),\n error: (value: string): string => paint(ANSI.red, value),\n};\n", "#!/usr/bin/env node\nimport {\n connectActions,\n deployActions,\n destroyActions,\n doctorActions,\n rollbackActions,\n upgradeActions,\n} from \"./actions-installation.js\";\nimport {\n listActionsRepositories,\n listActionsRuns,\n listActionsTasks,\n setRepositoryEnabled,\n setTaskEnabled,\n showActionsRun,\n} from \"./actions-operations.js\";\nimport { qualifyActions } from \"./actions-qualify.js\";\nimport { parse } from \"./args.js\";\nimport { buildProject, initializeProject, upgradeProjectRelease } from \"./project.js\";\nimport { defaultSourceRoot } from \"./distribution.js\";\nimport { terminal } from \"./terminal.js\";\n\nconst HELP = `gardener <command>\n\nCommands:\n init Create a local .gardener project\n generate Compile TASK.md files and generate caller workflows\n deploy Deploy the Gardener runtime to Cloudflare\n upgrade Upgrade runtime and one repository bridge pin\n yolo Init, generate, deploy, connect, and verify\n doctor Verify an existing installation\n debug Run both demo workflows and verify exact receipts\n runs List recent runs\n runs view Show one run and its audit records\n\nRun \\`gardener <command> --help\\` for command options.\n`;\n\n/**\n * Renamed commands fail with a pointer to the new name rather than working\n * silently, so scripts are fixed once. Commands left out of HELP (connect,\n * rollback, task, repository, repositories, tasks, down) still work.\n */\nconst RENAMED: Record<string, string> = { build: \"generate\", up: \"yolo\", qualify: \"debug\" };\n\nconst OPERATIONS_HELP = `gardener <repositories|tasks|runs|runs view|task enable|task disable|repository enable|repository disable>\n\nOptions:\n --workspace <name> Existing Gardener installation\n --repository <owner/name> Optional repository filter or required control target\n --task <id> Task identity for task enable/disable\n --run <id> Run identity for run show\n --limit <1-100> Maximum runs to list\n --repository-root <path> Customer repository (defaults to current directory)\n --source-root <path> Trusted source checkout override (packaged runtime by default)\n`;\n\nconst INIT_HELP = `gardener init\n\nCreates a local, secret-free Gardener project. This command never mutates Cloudflare or GitHub.\n\nOptions:\n --demos Add the bug-intake and documentation-helper demo tasks\n --repository-root <path> Customer repository (defaults to current directory)\n`;\n\nconst GENERATE_HELP = `gardener generate\n\nCompiles .gardener/tasks/*/TASK.md into canonical TaskBundleV1 records, writes the\nreproducible lock file, and generates one GitHub caller workflow per task.\n\nOptions:\n --repository-root <path> Customer repository (defaults to current directory)\n`;\n\nconst DEPLOY_HELP = `gardener deploy\n\nDeploy or resume the Gardener runtime on Cloudflare.\n\nOptions:\n --workspace <name> Stable installation name\n --source-root <path> Trusted source checkout override (packaged runtime by default)\n`;\n\nconst UPGRADE_HELP = `gardener upgrade\n\nUpgrade an existing runtime and one repository's pinned GitHub bridge release, rebuild its\nworkflows, re-enroll it, and verify the installation. Existing projects never upgrade implicitly through the yolo command.\n\nOptions:\n --workspace <name> Existing Gardener installation\n --repository <owner/name> Connected GitHub repository to upgrade\n --repository-root <path> Customer repository (defaults to current directory)\n --source-root <path> Trusted source checkout override (packaged runtime by default)\n`;\n\nconst ROLLBACK_HELP = `gardener rollback\n\nRedeploy a trusted prior source checkout only when its digest matches recorded deployment history.\nDatabase migrations remain forward-only; rollback restores code, not schema.\n\nOptions:\n --workspace <name> Existing Gardener installation\n --source-root <path> Explicit trusted prior Gardener source checkout (required)\n --confirm <source-digest> Historical deployment digest to restore (required)\n`;\n\nconst CONNECT_HELP = `gardener connect\n\nEnroll a repository, upload its compiled bundles, and set its non-secret runtime URL variable.\nBundles not in this checkout are disabled, so run it from the default branch.\n\nOptions:\n --workspace <name> Existing Gardener installation\n --repository <owner/name> GitHub repository to enroll\n --repository-root <path> Customer repository (defaults to current directory)\n --source-root <path> Trusted source checkout override (packaged runtime by default)\n`;\n\nconst DEBUG_HELP = `gardener debug\n\nCreate one disposable issue per compiled task, wait for both generated workflows, and verify the\nunique GitHub comment and D1 receipt for each bundle. Add --drills for kill-switch, cancellation,\nand reconciliation-invariant qualification.\n\nOptions:\n --workspace <name> Existing Gardener installation\n --repository <owner/name> Connected GitHub repository\n --repository-root <path> Customer repository (defaults to current directory)\n --source-root <path> Trusted source checkout override (packaged runtime by default)\n --drills Also run negative admission and cancellation drills\n --drills-only Reuse recent successful runs and execute only the drills\n`;\n\nconst DOWN_HELP = `gardener down\n\nCreate or execute a manifest-bound teardown intent for the recorded Cloudflare resources.\n\nOptions:\n --workspace <name> Existing Gardener installation\n --source-root <path> Trusted source checkout override (packaged runtime by default)\n --execute Execute a previously written teardown intent\n --confirm <intent-digest> Exact digest returned by the planning invocation\n`;\n\nconst YOLO_HELP = `gardener yolo\n\nScaffold, compile, deploy, connect, and verify a reproducible Gardener installation.\n\nOptions:\n --workspace <name> Stable installation name\n --repository <owner/name> GitHub repository to enroll\n --demos Add the two bounded demo tasks\n --repository-root <path> Customer repository (defaults to current directory)\n --source-root <path> Trusted source checkout override (packaged runtime by default)\n`;\n\nasync function main(argv: string[]): Promise<void> {\n const normalized = argv[0] === \"--\" ? argv.slice(1) : argv;\n const [command, ...rest] = normalized;\n if (!command || command === \"help\" || command === \"--help\") {\n console.log(HELP);\n return;\n }\n const renamed = RENAMED[command];\n if (renamed) throw new Error(`gardener ${command} was renamed to gardener ${renamed}`);\n if (command === \"run\") throw new Error(\"gardener run show was renamed to gardener runs view\");\n const operationCommand = command === \"task\" || command === \"repository\" || command === \"repositories\" || command === \"tasks\" || command === \"runs\";\n if (operationCommand && (rest.includes(\"help\") || rest.includes(\"--help\"))) {\n console.log(OPERATIONS_HELP);\n return;\n }\n if (operationCommand) {\n await operate(command, rest);\n return;\n }\n if (rest[0] === \"help\" || rest[0] === \"--help\") {\n const help = command === \"init\" ? INIT_HELP\n : command === \"generate\" ? GENERATE_HELP\n : command === \"deploy\" || command === \"doctor\" ? DEPLOY_HELP\n : command === \"upgrade\" ? UPGRADE_HELP\n : command === \"rollback\" ? ROLLBACK_HELP\n : command === \"connect\" ? CONNECT_HELP\n : command === \"debug\" ? DEBUG_HELP\n : command === \"down\" ? DOWN_HELP\n : command === \"yolo\" ? YOLO_HELP\n : null;\n if (!help) throw new Error(`Unknown Gardener command: ${command}`);\n console.log(help);\n return;\n }\n const { positional, flags } = parse(rest);\n if (positional.length) throw new Error(`gardener ${command} does not accept positional arguments`);\n const repositoryRoot = stringFlag(flags, \"repository-root\") ?? process.cwd();\n const sourceRoot = stringFlag(flags, \"source-root\") ?? defaultSourceRoot();\n\n if (command === \"init\") {\n printInit(await initializeProject({\n repositoryRoot,\n demos: flags.get(\"demos\") === true,\n }));\n return;\n }\n if (command === \"generate\") {\n printBuild(await buildProject({ repositoryRoot }));\n return;\n }\n if (command === \"deploy\") {\n const manifest = await deployActions({\n workspace: requiredStringFlag(flags, \"workspace\"),\n sourceRoot,\n });\n console.log(JSON.stringify(manifest, null, 2));\n return;\n }\n if (command === \"upgrade\") {\n const workspace = requiredStringFlag(flags, \"workspace\");\n const repository = requiredStringFlag(flags, \"repository\");\n const runtime = await upgradeActions({ workspace, sourceRoot });\n try {\n const project = await upgradeProjectRelease({ repositoryRoot });\n const build = await buildProject({ repositoryRoot });\n printBuildWarnings(build);\n const connection = await connectActions({ workspace, repository, repositoryRoot, sourceRoot });\n const doctor = await doctorActions(workspace, sourceRoot);\n warnDoctorFindings(doctor);\n console.log(JSON.stringify({ runtime, project, build, connection, doctor }, null, 2));\n } catch (error) {\n const detail = error instanceof Error ? error.message : \"unknown repository error\";\n throw new Error(\n `The runtime deployment completed, but the repository bridge upgrade did not: ${detail}. Fix the repository error, then rerun the identical gardener upgrade command; every step is resumable.`,\n { cause: error },\n );\n }\n return;\n }\n if (command === \"rollback\") {\n console.log(JSON.stringify(await rollbackActions({\n workspace: requiredStringFlag(flags, \"workspace\"),\n sourceRoot: requiredStringFlag(flags, \"source-root\"),\n confirm: requiredStringFlag(flags, \"confirm\"),\n }), null, 2));\n return;\n }\n if (command === \"connect\") {\n console.log(JSON.stringify(await connectActions({\n workspace: requiredStringFlag(flags, \"workspace\"),\n repository: requiredStringFlag(flags, \"repository\"),\n repositoryRoot,\n sourceRoot,\n }), null, 2));\n return;\n }\n if (command === \"doctor\") {\n const doctor = await doctorActions(requiredStringFlag(flags, \"workspace\"), sourceRoot);\n warnDoctorFindings(doctor);\n console.log(JSON.stringify(doctor, null, 2));\n return;\n }\n if (command === \"debug\") {\n console.log(JSON.stringify(await qualifyActions({\n workspace: requiredStringFlag(flags, \"workspace\"),\n repository: requiredStringFlag(flags, \"repository\"),\n repositoryRoot,\n sourceRoot,\n drills: flags.get(\"drills\") === true,\n drillsOnly: flags.get(\"drills-only\") === true,\n }), null, 2));\n return;\n }\n if (command === \"down\") {\n const confirm = stringFlag(flags, \"confirm\");\n console.log(JSON.stringify(await destroyActions({\n workspace: requiredStringFlag(flags, \"workspace\"),\n sourceRoot,\n execute: flags.get(\"execute\") === true,\n ...(confirm ? { confirm } : {}),\n }), null, 2));\n return;\n }\n if (command === \"yolo\") {\n const workspace = requiredStringFlag(flags, \"workspace\");\n const repository = requiredStringFlag(flags, \"repository\");\n printInit(await initializeProject({ repositoryRoot, demos: flags.get(\"demos\") === true }));\n printBuild(await buildProject({ repositoryRoot }));\n await deployActions({ workspace, sourceRoot });\n console.log(JSON.stringify(await connectActions({\n workspace,\n repository,\n repositoryRoot,\n sourceRoot,\n }), null, 2));\n const doctor = await doctorActions(workspace, sourceRoot);\n warnDoctorFindings(doctor);\n console.log(JSON.stringify(doctor, null, 2));\n return;\n }\n console.log(HELP);\n process.exitCode = 1;\n}\n\nasync function operate(command: string, args: string[]): Promise<void> {\n const [subcommand, ...rest] = args;\n const actionCommand = command === \"task\" || command === \"repository\";\n const runShow = command === \"runs\" && subcommand === \"view\";\n const parsed = parse(actionCommand || runShow ? rest : args);\n const repositoryRoot = stringFlag(parsed.flags, \"repository-root\") ?? process.cwd();\n const sourceRoot = stringFlag(parsed.flags, \"source-root\") ?? defaultSourceRoot();\n const workspace = requiredStringFlag(parsed.flags, \"workspace\");\n const repository = stringFlag(parsed.flags, \"repository\");\n\n if (command === \"task\") {\n if (subcommand !== \"enable\" && subcommand !== \"disable\") throw new Error(\"Usage: gardener task <enable|disable> --task <id>\");\n if (!repository) throw new Error(\"--repository is required\");\n console.log(JSON.stringify(await setTaskEnabled({\n workspace,\n repository,\n taskId: requiredStringFlag(parsed.flags, \"task\"),\n repositoryRoot,\n sourceRoot,\n enabled: subcommand === \"enable\",\n }), null, 2));\n return;\n }\n if (command === \"repository\") {\n if (subcommand !== \"enable\" && subcommand !== \"disable\") throw new Error(\"Usage: gardener repository <enable|disable>\");\n if (!repository) throw new Error(\"--repository is required\");\n console.log(JSON.stringify(await setRepositoryEnabled({\n workspace,\n repository,\n sourceRoot,\n enabled: subcommand === \"enable\",\n }), null, 2));\n return;\n }\n if (command === \"repositories\") {\n if (parsed.positional.length) throw new Error(\"gardener repositories does not accept positional arguments\");\n console.log(JSON.stringify(await listActionsRepositories({ workspace, sourceRoot }), null, 2));\n return;\n }\n if (command === \"tasks\") {\n if (parsed.positional.length) throw new Error(\"gardener tasks does not accept positional arguments\");\n console.log(JSON.stringify(await listActionsTasks({\n workspace,\n ...(repository ? { repository } : {}),\n sourceRoot,\n }), null, 2));\n return;\n }\n if (runShow) {\n if (parsed.positional.length) throw new Error(\"Usage: gardener runs view --run <id>\");\n console.log(JSON.stringify(await showActionsRun({\n workspace,\n runId: requiredStringFlag(parsed.flags, \"run\"),\n sourceRoot,\n }), null, 2));\n return;\n }\n if (command === \"runs\") {\n if (parsed.positional.length) throw new Error(\"gardener runs does not accept positional arguments\");\n const limitValue = stringFlag(parsed.flags, \"limit\");\n const limit = limitValue === undefined ? undefined : Number(limitValue);\n if (limit !== undefined && (!Number.isSafeInteger(limit) || limit < 1 || limit > 100)) {\n throw new Error(\"--limit must be an integer from 1 to 100\");\n }\n console.log(JSON.stringify(await listActionsRuns({\n workspace,\n ...(repository ? { repository } : {}),\n sourceRoot,\n ...(limit === undefined ? {} : { limit }),\n }), null, 2));\n return;\n }\n throw new Error(`Unknown Gardener operation: ${command}`);\n}\n\nfunction warnDoctorFindings(doctor: Awaited<ReturnType<typeof doctorActions>>): void {\n if (doctor.staleBridgeRepositories > 0) {\n console.error(terminal.caution(\n `${doctor.staleBridgeRepositories} enabled repository enrollment(s) differ from this CLI's bridge release; run gardener upgrade for each repository.`,\n ));\n }\n for (const warning of doctor.pullRequestPermissionWarnings) console.error(terminal.caution(warning.message));\n}\n\nfunction printInit(result: { created: string[]; preserved: string[] }): void {\n for (const path of result.created) console.log(`created ${path}`);\n for (const path of result.preserved) console.log(`preserved ${path}`);\n}\n\nfunction printBuild(result: {\n lockPath: string;\n tasks: Array<{ taskId: string; bundleHash: string; workflow: string }>;\n warnings: string[];\n}): void {\n console.log(`wrote ${result.lockPath}`);\n for (const task of result.tasks) console.log(`${task.taskId} ${task.bundleHash} ${task.workflow}`);\n printBuildWarnings(result);\n}\n\n/**\n * Surfaces every build warning on stderr. A capability as consequential as\n * unrestricted runner egress must be visible at the moment it is compiled in,\n * not only to whoever later reads the task source.\n */\nfunction printBuildWarnings(result: { warnings: string[] }): void {\n for (const warning of result.warnings) terminal.warn(warning);\n}\n\nfunction requiredStringFlag(flags: Map<string, string | true>, name: string): string {\n const value = stringFlag(flags, name);\n if (!value) throw new Error(`--${name} is required`);\n return value;\n}\n\nfunction stringFlag(flags: Map<string, string | true>, name: string): string | undefined {\n const value = flags.get(name);\n return typeof value === \"string\" ? value : undefined;\n}\n\nmain(process.argv.slice(2)).catch((error: unknown) => {\n console.error(terminal.error(error instanceof Error ? error.message : \"Gardener CLI failed\"));\n process.exitCode = 1;\n});\n"],
|
|
5
|
+
"mappings": "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AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAAAC;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAAAC;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAAC;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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",
|
|
6
|
+
"names": ["readFile", "readdir", "unlink", "join", "resolve", "_default", "base64", "base64url", "bigint", "boolean", "_catch", "cidrv4", "cidrv6", "core_exports", "creditCard", "cuid", "cuid2", "currencyCode", "date", "decode", "decodeAsync", "describe", "e164", "email", "emoji", "encode", "encodeAsync", "_enum", "guid", "hex", "hostname", "iban", "ipv4", "ipv6", "ksuid", "mac", "meta", "nanoid", "_null", "nullish", "number", "parse", "parseAsync", "safeDecode", "safeDecodeAsync", "safeEncode", "safeEncodeAsync", "safeParse", "safeParseAsync", "string", "ulid", "_undefined", "uuid", "_void", "xid", "core_exports", "_emoji", "_null", "_undefined", "array", "input", "object", "Class", "name", "_a", "config", "base64", "base64url", "hex", "name", "initializer", "own", "proto", "error", "issue", "terminal", "node", "_a", "error", "parse", "parseAsync", "version", "_a", "input", "result", "_a", "checks", "checkResult", "canary", "result", "validateAsync", "_", "input", "url", "hostname", "base64", "iban", "memo", "r", "isObject", "allowsEval", "results", "union", "map", "value", "left", "right", "keyResult", "valueResult", "output", "own", "resolve", "cached", "check", "merge", "_a", "input", "issue", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "error", "input", "issue", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "number", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "plural", "error", "issue", "plural", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "error", "issue", "_a", "meta", "clone", "recursive", "name", "check", "issue", "outputVar", "getTupleOptStart", "body", "Class", "_emoji", "_undefined", "_null", "input", "Class", "issue", "codec", "json", "_a", "meta", "id", "schema", "members", "required", "object", "json", "union", "json", "optional", "record", "input", "registry", "ctx", "schemas_exports", "_default", "base64", "base64url", "bigint", "boolean", "_catch", "cidrv4", "cidrv6", "creditCard", "cuid", "cuid2", "currencyCode", "date", "describe", "e164", "email", "emoji", "_enum", "guid", "hex", "hostname", "iban", "ipv4", "ipv6", "ksuid", "mac", "meta", "nanoid", "_null", "nullish", "number", "string", "ulid", "_undefined", "uuid", "_void", "xid", "checks_exports", "initializer", "issue", "issues", "parse", "parseAsync", "safeParse", "safeParseAsync", "encode", "decode", "encodeAsync", "decodeAsync", "safeEncode", "safeDecode", "safeEncodeAsync", "safeDecodeAsync", "meta", "check", "_default", "_catch", "_parse", "parse", "_parseAsync", "parseAsync", "safeParse", "safeParseAsync", "_encode", "encode", "_decode", "decode", "_encodeAsync", "encodeAsync", "_decodeAsync", "decodeAsync", "safeEncode", "safeDecode", "safeEncodeAsync", "safeDecodeAsync", "json", "_emoji", "string", "email", "guid", "uuid", "emoji", "nanoid", "cuid", "cuid2", "ulid", "xid", "ksuid", "ipv4", "mac", "ipv6", "cidrv4", "cidrv6", "base64", "base64url", "e164", "creditCard", "iban", "hostname", "hex", "currencyCode", "number", "boolean", "bigint", "_undefined", "json", "_null", "json", "_void", "json", "date", "_enum", "string", "json", "issue", "output", "nullish", "_default", "_catch", "json", "codec", "json", "describe", "meta", "string", "number", "boolean", "_null", "map", "ZodFirstPartyTypeKind", "date", "datetime", "duration", "time", "datetime", "date", "time", "duration", "schemas_exports", "checks_exports", "parts", "zodSchema", "version", "node", "cached", "bigint", "boolean", "date", "number", "string", "string", "number", "boolean", "bigint", "date", "file", "output", "check", "output", "output", "name", "issue", "record", "type", "file", "record", "stepName", "name", "output", "issue", "record", "input", "url", "require", "error", "input", "error", "output", "any", "require", "stdout", "output", "url", "input", "record", "uuid", "output", "mkdir", "rename", "writeFile", "dirname", "sha256", "name", "resolve", "join", "input", "database", "record", "unlink", "hash", "readdir", "readFile", "error", "body", "domain", "resolve", "input", "sql", "name", "config", "resolve", "resolve", "identifier", "sha256", "sha1", "githubNumericId", "EFFECT_TRANSPORT_MAX_BYTES", "canonicalJsonByteLength", "issuePayload", "pullRequestPayload", "discussionPayload", "repositorySlug", "input", "resolve", "comment", "sql", "issue", "error", "output", "body", "parse", "boolean", "name", "dirname", "join", "resolve", "parse", "error", "name"]
|
|
7
|
+
}
|