@moxt-ai/mobius 0.0.2 → 0.0.4

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.
Files changed (40) hide show
  1. package/dist/acp/activity.d.ts +5 -2
  2. package/dist/acp/activity.d.ts.map +1 -1
  3. package/dist/acp/activity.js +89 -5
  4. package/dist/acp/activity.js.map +1 -1
  5. package/dist/acp/create-client.d.ts +8 -2
  6. package/dist/acp/create-client.d.ts.map +1 -1
  7. package/dist/acp/create-client.js +10 -2
  8. package/dist/acp/create-client.js.map +1 -1
  9. package/dist/acp/run-prompt.d.ts.map +1 -1
  10. package/dist/acp/run-prompt.js +4 -0
  11. package/dist/acp/run-prompt.js.map +1 -1
  12. package/dist/acp/session-manager.d.ts +100 -4
  13. package/dist/acp/session-manager.d.ts.map +1 -1
  14. package/dist/acp/session-manager.js +1239 -138
  15. package/dist/acp/session-manager.js.map +1 -1
  16. package/dist/acp/session-store.d.ts +37 -0
  17. package/dist/acp/session-store.d.ts.map +1 -0
  18. package/dist/acp/session-store.js +158 -0
  19. package/dist/acp/session-store.js.map +1 -0
  20. package/dist/authorization/workspace-directory.d.ts +17 -0
  21. package/dist/authorization/workspace-directory.d.ts.map +1 -0
  22. package/dist/authorization/workspace-directory.js +164 -0
  23. package/dist/authorization/workspace-directory.js.map +1 -0
  24. package/dist/cli.js +22429 -697
  25. package/dist/cli.js.map +4 -4
  26. package/dist/index.js +22435 -677
  27. package/dist/index.js.map +4 -4
  28. package/dist/relay-connection/liveness.d.ts +14 -0
  29. package/dist/relay-connection/liveness.d.ts.map +1 -0
  30. package/dist/relay-connection/liveness.js +102 -0
  31. package/dist/relay-connection/liveness.js.map +1 -0
  32. package/dist/relay-connection/timer.d.ts +8 -0
  33. package/dist/relay-connection/timer.d.ts.map +1 -0
  34. package/dist/relay-connection/timer.js +8 -0
  35. package/dist/relay-connection/timer.js.map +1 -0
  36. package/dist/run-daemon.d.ts +2 -1
  37. package/dist/run-daemon.d.ts.map +1 -1
  38. package/dist/run-daemon.js +352 -20
  39. package/dist/run-daemon.js.map +1 -1
  40. package/package.json +1 -1
package/dist/cli.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/audit/audit-store.ts", "../src/pairing/pair-local-machine.ts", "../src/config.ts", "../src/network/environment-proxy.ts", "../src/run-daemon.ts", "../../protocol/src/messages.ts", "../../protocol/src/version.ts", "../../protocol/src/codecs/messages.ts", "../src/acp/session-manager.ts", "../src/acp/activity.ts", "../src/acp/create-client.ts", "../src/authorization/authorize-binding.ts", "../src/relay-connection/connect.ts", "../src/cli.ts"],
4
- "sourcesContent": ["import { mkdirSync } from \"node:fs\";\nimport { dirname } from \"node:path\";\nimport { DatabaseSync } from \"node:sqlite\";\n\nexport interface AuditRecord {\n readonly commandId: string;\n readonly event: string;\n readonly sessionId: string;\n}\n\nexport class AuditStore {\n private readonly database: DatabaseSync;\n\n constructor(path: string) {\n mkdirSync(dirname(path), { recursive: true });\n this.database = new DatabaseSync(path);\n this.database.exec(`\n CREATE TABLE IF NOT EXISTS audit_events (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n recorded_at TEXT NOT NULL,\n event TEXT NOT NULL,\n command_id TEXT NOT NULL,\n session_id TEXT NOT NULL\n ) STRICT\n `);\n }\n\n record(record: AuditRecord): void {\n this.database\n .prepare(\n `\n INSERT INTO audit_events (\n recorded_at,\n event,\n command_id,\n session_id\n ) VALUES (?, ?, ?, ?)\n `,\n )\n .run(\n new Date().toISOString(),\n record.event,\n record.commandId,\n record.sessionId,\n );\n }\n\n close(): void {\n this.database.close();\n }\n}\n", "import { randomUUID } from \"node:crypto\";\nimport {\n mkdir,\n open,\n realpath,\n rename,\n stat,\n writeFile,\n} from \"node:fs/promises\";\nimport { homedir, hostname } from \"node:os\";\nimport { basename, join, resolve } from \"node:path\";\n\nimport { fetch, type Response } from \"undici\";\n\nimport {\n createDaemonConfig,\n type DaemonConfig,\n loadLocalAgents,\n} from \"../config.ts\";\nimport { environmentProxyDispatcher } from \"../network/environment-proxy.ts\";\n\nconst PAIRING_TIMEOUT_MILLISECONDS = 20_000;\nconst PAIRING_CODE_PATTERN = /^[A-HJ-NP-Z2-9]{4}(?:-[A-HJ-NP-Z2-9]{4}){4}$/;\nconst IDENTIFIER_PATTERN = /^[a-zA-Z0-9][a-zA-Z0-9._:-]{0,127}$/;\nconst TOKEN_PATTERN = /^[a-zA-Z0-9_-]{32,256}$/;\nconst MAX_CONNECTION_FILE_LENGTH = 16 * 1024;\nconst CLAIM_RESPONSE_KEYS: readonly string[] = [\"channelId\", \"daemonToken\"];\nconst SAVED_CONNECTION_KEYS: readonly string[] = [\n \"approvedRoot\",\n \"channelId\",\n \"daemonToken\",\n \"relayOrigin\",\n];\n\ninterface PairCommandOptions {\n readonly code: string;\n readonly relayOrigin: URL;\n readonly root: string;\n}\n\ninterface ClaimPairingResponse {\n readonly channelId: string;\n readonly daemonToken: string;\n}\n\ninterface SavedConnection {\n readonly approvedRoot: string;\n readonly channelId: string;\n readonly daemonToken: string;\n readonly relayOrigin: URL;\n}\n\nexport interface PairedDaemon {\n readonly channelUrl: string;\n readonly config: DaemonConfig;\n readonly connectionPath: string;\n}\n\nexport class PairingClientError extends Error {\n readonly code: string;\n\n constructor(code: string, message: string, options: ErrorOptions = {}) {\n super(message, options);\n this.code = code;\n this.name = \"PairingClientError\";\n }\n}\n\nfunction isRecord(value: unknown): value is Readonly<Record<string, unknown>> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction hasExactKeys(\n value: Readonly<Record<string, unknown>>,\n expectedKeys: readonly string[],\n): boolean {\n const keys = Object.keys(value);\n return (\n keys.length === expectedKeys.length &&\n expectedKeys.every((key) => Object.hasOwn(value, key))\n );\n}\n\nfunction readSingleOption(\n arguments_: readonly string[],\n option: string,\n): string {\n const values: string[] = [];\n for (let index = 0; index < arguments_.length; index += 1) {\n if (arguments_[index] !== option) {\n continue;\n }\n const value = arguments_[index + 1];\n if (value === undefined || value.startsWith(\"--\")) {\n throw new PairingClientError(\n \"invalid_arguments\",\n `${option} requires a value`,\n );\n }\n values.push(value);\n index += 1;\n }\n if (values.length !== 1) {\n throw new PairingClientError(\n \"invalid_arguments\",\n `${option} must be provided exactly once`,\n );\n }\n return values[0] ?? \"\";\n}\n\nfunction assertKnownArguments(arguments_: readonly string[]): void {\n for (let index = 0; index < arguments_.length; index += 2) {\n const option = arguments_[index];\n if (option !== \"--url\" && option !== \"--code\" && option !== \"--root\") {\n throw new PairingClientError(\n \"invalid_arguments\",\n `Unknown pairing option: ${option ?? \"missing option\"}`,\n );\n }\n }\n}\n\nfunction parseRelayOrigin(value: string): URL {\n let url: URL;\n try {\n url = new URL(value);\n } catch (error) {\n throw new PairingClientError(\n \"invalid_relay_url\",\n \"The relay URL is invalid\",\n { cause: error },\n );\n }\n if (url.protocol !== \"https:\" && url.protocol !== \"http:\") {\n throw new PairingClientError(\n \"invalid_relay_url\",\n \"The relay URL must use http or https\",\n );\n }\n if (url.username.length > 0 || url.password.length > 0) {\n throw new PairingClientError(\n \"invalid_relay_url\",\n \"The relay URL cannot contain credentials\",\n );\n }\n if (\n url.protocol === \"http:\" &&\n url.hostname !== \"127.0.0.1\" &&\n url.hostname !== \"localhost\"\n ) {\n throw new PairingClientError(\n \"invalid_relay_url\",\n \"A remote relay must use https\",\n );\n }\n url.hash = \"\";\n url.pathname = \"/\";\n url.search = \"\";\n return url;\n}\n\nfunction parsePairingCode(value: string): string {\n const code = value.trim().toUpperCase();\n if (!PAIRING_CODE_PATTERN.test(code)) {\n throw new PairingClientError(\n \"invalid_pairing_code\",\n \"The pairing code must match the code shown in the browser\",\n );\n }\n return code;\n}\n\nfunction parsePairCommand(arguments_: readonly string[]): PairCommandOptions {\n assertKnownArguments(arguments_);\n return {\n code: parsePairingCode(readSingleOption(arguments_, \"--code\")),\n relayOrigin: parseRelayOrigin(readSingleOption(arguments_, \"--url\")),\n root: readSingleOption(arguments_, \"--root\"),\n };\n}\n\nfunction parseChannelArgument(arguments_: readonly string[]): string {\n if (arguments_.length !== 2 || arguments_[0] !== \"--channel\") {\n throw new PairingClientError(\n \"invalid_arguments\",\n \"Usage: mobius start --channel <channel-id>\",\n );\n }\n const channelId = arguments_[1] ?? \"\";\n if (!IDENTIFIER_PATTERN.test(channelId)) {\n throw new PairingClientError(\n \"invalid_channel_id\",\n \"The saved channel ID is invalid\",\n );\n }\n return channelId;\n}\n\nasync function resolveApprovedRoot(path: string): Promise<string> {\n const requestedRoot = resolve(path);\n try {\n const approvedRoot = await realpath(requestedRoot);\n const metadata = await stat(approvedRoot);\n if (!metadata.isDirectory()) {\n throw new PairingClientError(\n \"invalid_workspace\",\n \"The approved workspace root is not a directory\",\n );\n }\n return approvedRoot;\n } catch (error) {\n if (error instanceof PairingClientError) {\n throw error;\n }\n throw new PairingClientError(\n \"invalid_workspace\",\n \"The approved workspace root cannot be resolved\",\n { cause: error },\n );\n }\n}\n\nasync function readJsonResponse(response: Response): Promise<unknown> {\n if (response.headers.get(\"cf-mitigated\") === \"challenge\") {\n throw new PairingClientError(\n \"relay_challenge\",\n \"Cloudflare is protecting this temporary preview. Claim the deployment or use an authenticated deployment, then pair again\",\n );\n }\n const encoded = await response.text();\n try {\n return JSON.parse(encoded);\n } catch (error) {\n throw new PairingClientError(\n \"invalid_relay_response\",\n \"The relay returned an invalid response\",\n { cause: error },\n );\n }\n}\n\nfunction readRelayError(value: unknown): PairingClientError {\n if (isRecord(value)) {\n const error = value[\"error\"];\n if (isRecord(error)) {\n const code = error[\"code\"];\n const message = error[\"message\"];\n if (typeof code === \"string\" && typeof message === \"string\") {\n return new PairingClientError(code, message);\n }\n }\n }\n return new PairingClientError(\n \"pairing_failed\",\n \"The relay could not pair this machine\",\n );\n}\n\nfunction decodeClaimResponse(value: unknown): ClaimPairingResponse {\n if (!isRecord(value) || !hasExactKeys(value, CLAIM_RESPONSE_KEYS)) {\n throw new PairingClientError(\n \"invalid_relay_response\",\n \"The relay returned an invalid pairing response\",\n );\n }\n const channelId = value[\"channelId\"];\n const daemonToken = value[\"daemonToken\"];\n if (\n typeof channelId !== \"string\" ||\n !IDENTIFIER_PATTERN.test(channelId) ||\n typeof daemonToken !== \"string\" ||\n !TOKEN_PATTERN.test(daemonToken)\n ) {\n throw new PairingClientError(\n \"invalid_relay_response\",\n \"The relay returned an invalid pairing response\",\n );\n }\n return { channelId, daemonToken };\n}\n\nasync function claimPairing(\n options: PairCommandOptions,\n approvedRoot: string,\n): Promise<ClaimPairingResponse> {\n const agents = loadLocalAgents().map((agent) => ({\n id: agent.id,\n label: agent.label,\n }));\n const endpoint = new URL(\"/v1/pairings/claim\", options.relayOrigin);\n let response: Response;\n try {\n response = await fetch(endpoint, {\n body: JSON.stringify({\n agents,\n machineName: hostname(),\n pairingCode: options.code,\n workspaceName: basename(approvedRoot) || \"Local workspace\",\n }),\n dispatcher: environmentProxyDispatcher,\n headers: { \"content-type\": \"application/json\" },\n method: \"POST\",\n signal: AbortSignal.timeout(PAIRING_TIMEOUT_MILLISECONDS),\n });\n } catch (error) {\n throw new PairingClientError(\n \"relay_unavailable\",\n \"The pairing relay could not be reached\",\n { cause: error },\n );\n }\n\n const value = await readJsonResponse(response);\n if (!response.ok) {\n throw readRelayError(value);\n }\n return decodeClaimResponse(value);\n}\n\nfunction readStateDirectory(): string {\n // biome-ignore lint/complexity/useLiteralKeys: Environment variables use an index signature.\n const configured = process.env[\"MOBIUS_STATE_DIRECTORY\"]?.trim();\n if (configured !== undefined && configured.length > 0) {\n return resolve(configured);\n }\n return join(homedir(), \".mobius\");\n}\n\nasync function persistConnection(\n channelId: string,\n relayOrigin: URL,\n daemonToken: string,\n approvedRoot: string,\n): Promise<string> {\n const connectionsDirectory = join(readStateDirectory(), \"connections\");\n await mkdir(connectionsDirectory, { mode: 0o700, recursive: true });\n const connectionPath = join(connectionsDirectory, `${channelId}.json`);\n const temporaryPath = join(\n connectionsDirectory,\n `.${channelId}.${randomUUID()}.tmp`,\n );\n await writeFile(\n temporaryPath,\n `${JSON.stringify(\n {\n approvedRoot,\n channelId,\n daemonToken,\n relayOrigin: relayOrigin.toString(),\n },\n null,\n 2,\n )}\\n`,\n { flag: \"wx\", mode: 0o600 },\n );\n await rename(temporaryPath, connectionPath);\n return connectionPath;\n}\n\nfunction decodeSavedConnection(\n value: unknown,\n expectedChannelId: string,\n): SavedConnection {\n if (!isRecord(value) || !hasExactKeys(value, SAVED_CONNECTION_KEYS)) {\n throw new PairingClientError(\n \"invalid_connection\",\n \"The saved connection is invalid\",\n );\n }\n const approvedRoot = value[\"approvedRoot\"];\n const channelId = value[\"channelId\"];\n const daemonToken = value[\"daemonToken\"];\n const relayOrigin = value[\"relayOrigin\"];\n if (\n typeof approvedRoot !== \"string\" ||\n typeof channelId !== \"string\" ||\n channelId !== expectedChannelId ||\n !IDENTIFIER_PATTERN.test(channelId) ||\n typeof daemonToken !== \"string\" ||\n !TOKEN_PATTERN.test(daemonToken) ||\n typeof relayOrigin !== \"string\"\n ) {\n throw new PairingClientError(\n \"invalid_connection\",\n \"The saved connection is invalid\",\n );\n }\n return {\n approvedRoot,\n channelId,\n daemonToken,\n relayOrigin: parseRelayOrigin(relayOrigin),\n };\n}\n\nasync function readSavedConnection(\n channelId: string,\n): Promise<SavedConnection> {\n const connectionPath = join(\n readStateDirectory(),\n \"connections\",\n `${channelId}.json`,\n );\n let encoded = \"\";\n const handle = await open(connectionPath, \"r\");\n try {\n const metadata = await handle.stat();\n if (!metadata.isFile() || metadata.size > MAX_CONNECTION_FILE_LENGTH) {\n throw new PairingClientError(\n \"invalid_connection\",\n \"The saved connection is invalid\",\n );\n }\n encoded = await handle.readFile({ encoding: \"utf8\" });\n } finally {\n await handle.close();\n }\n\n let value: unknown;\n try {\n value = JSON.parse(encoded);\n } catch (error) {\n throw new PairingClientError(\n \"invalid_connection\",\n \"The saved connection is invalid\",\n { cause: error },\n );\n }\n const connection = decodeSavedConnection(value, channelId);\n return {\n approvedRoot: await resolveApprovedRoot(connection.approvedRoot),\n channelId: connection.channelId,\n daemonToken: connection.daemonToken,\n relayOrigin: connection.relayOrigin,\n };\n}\n\nfunction buildPairedDaemon(\n connection: SavedConnection,\n connectionPath: string,\n): PairedDaemon {\n const relayUrl = new URL(\n `/v1/channels/${encodeURIComponent(connection.channelId)}/daemon`,\n connection.relayOrigin,\n );\n relayUrl.protocol = relayUrl.protocol === \"https:\" ? \"wss:\" : \"ws:\";\n relayUrl.searchParams.set(\"token\", connection.daemonToken);\n const auditDatabasePath = join(\n readStateDirectory(),\n \"audit\",\n `${connection.channelId}.sqlite`,\n );\n\n return {\n channelUrl: new URL(\n `/channels/${encodeURIComponent(connection.channelId)}`,\n connection.relayOrigin,\n ).toString(),\n config: createDaemonConfig({\n approvedRoot: connection.approvedRoot,\n auditDatabasePath,\n channelId: connection.channelId,\n relayUrl,\n }),\n connectionPath,\n };\n}\n\nexport async function pairLocalMachine(\n arguments_: readonly string[],\n): Promise<PairedDaemon> {\n const options = parsePairCommand(arguments_);\n const approvedRoot = await resolveApprovedRoot(options.root);\n const claim = await claimPairing(options, approvedRoot);\n const connectionPath = await persistConnection(\n claim.channelId,\n options.relayOrigin,\n claim.daemonToken,\n approvedRoot,\n );\n return buildPairedDaemon(\n {\n approvedRoot,\n channelId: claim.channelId,\n daemonToken: claim.daemonToken,\n relayOrigin: options.relayOrigin,\n },\n connectionPath,\n );\n}\n\nexport async function resumeLocalMachine(\n arguments_: readonly string[],\n): Promise<PairedDaemon> {\n const channelId = parseChannelArgument(arguments_);\n const connectionPath = join(\n readStateDirectory(),\n \"connections\",\n `${channelId}.json`,\n );\n return buildPairedDaemon(\n await readSavedConnection(channelId),\n connectionPath,\n );\n}\n", "import { fileURLToPath } from \"node:url\";\n\nconst repositoryRoot = fileURLToPath(new URL(\"../../../\", import.meta.url));\n\nfunction adapterEntrypoint(packageName: string): string {\n return fileURLToPath(new URL(\"./index.js\", import.meta.resolve(packageName)));\n}\n\nexport class LocalAgentDefinition {\n readonly arguments: readonly string[];\n readonly command: string;\n readonly id: string;\n readonly label: string;\n\n constructor(\n id: string,\n label: string,\n command: string,\n arguments_: readonly string[],\n ) {\n this.id = id;\n this.label = label;\n this.command = command;\n this.arguments = arguments_;\n }\n}\n\nexport interface DaemonConfig {\n readonly agents: readonly LocalAgentDefinition[];\n readonly approvedRoot: string;\n readonly auditDatabasePath: string;\n readonly bindingId: string;\n readonly channelId: string;\n readonly relayUrl: URL;\n}\n\nexport interface DaemonConnectionConfig {\n readonly approvedRoot: string;\n readonly auditDatabasePath: string;\n readonly channelId: string;\n readonly relayUrl: URL;\n}\n\nexport function loadLocalAgents(): readonly LocalAgentDefinition[] {\n // biome-ignore lint/complexity/useLiteralKeys: Environment variables use an index signature.\n const overridePath = process.env[\"MOBIUS_ACP_AGENT_PATH\"]?.trim();\n if (overridePath !== undefined && overridePath.length > 0) {\n return [\n new LocalAgentDefinition(\"codex\", \"Codex\", process.execPath, [\n overridePath,\n \"--agent-name\",\n \"Codex\",\n ]),\n new LocalAgentDefinition(\"claude\", \"Claude Code\", process.execPath, [\n overridePath,\n \"--agent-name\",\n \"Claude Code\",\n ]),\n ];\n }\n\n return [\n new LocalAgentDefinition(\"codex\", \"Codex\", process.execPath, [\n adapterEntrypoint(\"@agentclientprotocol/codex-acp\"),\n ]),\n new LocalAgentDefinition(\"claude\", \"Claude Code\", process.execPath, [\n adapterEntrypoint(\"@agentclientprotocol/claude-agent-acp\"),\n ]),\n ];\n}\n\nexport function createDaemonConfig(\n connection: DaemonConnectionConfig,\n): DaemonConfig {\n return {\n agents: loadLocalAgents(),\n approvedRoot: connection.approvedRoot,\n auditDatabasePath: connection.auditDatabasePath,\n bindingId: \"workspace\",\n channelId: connection.channelId,\n relayUrl: connection.relayUrl,\n };\n}\n\nexport function findLocalAgent(\n agents: readonly LocalAgentDefinition[],\n agentId: string,\n): LocalAgentDefinition {\n for (const agent of agents) {\n if (agent.id === agentId) {\n return agent;\n }\n }\n throw new Error(\"The requested local agent is not approved\");\n}\n\nexport function loadDaemonConfig(): DaemonConfig {\n const relayUrl = new URL(\n // biome-ignore lint/complexity/useLiteralKeys: Environment variables use an index signature.\n process.env[\"MOBIUS_RELAY_URL\"] ??\n \"ws://127.0.0.1:8787/v1/channels/local/daemon\",\n );\n relayUrl.searchParams.set(\n \"token\",\n // biome-ignore lint/complexity/useLiteralKeys: Environment variables use an index signature.\n process.env[\"MOBIUS_RELAY_TOKEN\"] ?? \"local-development-token\",\n );\n\n if (relayUrl.protocol !== \"ws:\" && relayUrl.protocol !== \"wss:\") {\n throw new Error(\"MOBIUS_RELAY_URL must use ws or wss\");\n }\n\n return createDaemonConfig({\n // biome-ignore lint/complexity/useLiteralKeys: Environment variables use an index signature.\n approvedRoot: process.env[\"MOBIUS_APPROVED_ROOT\"] ?? repositoryRoot,\n auditDatabasePath:\n // biome-ignore lint/complexity/useLiteralKeys: Environment variables use an index signature.\n process.env[\"MOBIUS_AUDIT_DATABASE\"] ??\n fileURLToPath(new URL(\"../../../.mobius/daemon.sqlite\", import.meta.url)),\n // biome-ignore lint/complexity/useLiteralKeys: Environment variables use an index signature.\n channelId: process.env[\"MOBIUS_CHANNEL_ID\"] ?? \"local\",\n relayUrl,\n });\n}\n", "import { EnvHttpProxyAgent } from \"undici\";\n\nexport const environmentProxyDispatcher = new EnvHttpProxyAgent();\n", "import { randomUUID } from \"node:crypto\";\n\nimport {\n AGENT_ACTIVITY_KIND,\n AGENT_MESSAGE_DELTA_KIND,\n decodeMessageKind,\n decodeSessionCancelCommand,\n decodeSessionPromptCommand,\n encodeAgentActivityEvent,\n encodeAgentMessageDeltaEvent,\n encodeSessionCompletedEvent,\n encodeSessionFailedEvent,\n encodeSessionStartedEvent,\n MOBIUS_PROTOCOL_VERSION,\n SESSION_CANCEL_KIND,\n SESSION_COMPLETED_KIND,\n SESSION_FAILED_KIND,\n SESSION_PROMPT_KIND,\n SESSION_STARTED_KIND,\n type SessionCancelCommand,\n type SessionPromptCommand,\n} from \"@moxt-ai/mobius-protocol\";\nimport { type MessageEvent, WebSocket } from \"undici\";\n\nimport { AcpSessionManager } from \"./acp/session-manager.ts\";\nimport type { AuditStore } from \"./audit/audit-store.ts\";\nimport { authorizeBinding } from \"./authorization/authorize-binding.ts\";\nimport { type DaemonConfig, findLocalAgent } from \"./config.ts\";\nimport { connectRelay } from \"./relay-connection/connect.ts\";\n\nconst RELAY_RECONNECT_DELAY_MILLISECONDS = 500;\n\nclass ActiveDaemonTurn {\n readonly command: SessionPromptCommand;\n readonly #connectionController: AbortController;\n #cancellationRequested = false;\n\n constructor(\n command: SessionPromptCommand,\n connectionController: AbortController,\n ) {\n this.command = command;\n this.#connectionController = connectionController;\n }\n\n readonly abortConnection = (): void => {\n this.#connectionController.abort();\n };\n\n readonly matches = (cancellation: SessionCancelCommand): boolean =>\n cancellation.commandId === this.command.commandId &&\n cancellation.sessionId === this.command.sessionId;\n\n readonly requestCancellation = (): boolean => {\n if (this.#cancellationRequested) {\n return false;\n }\n this.#cancellationRequested = true;\n return true;\n };\n\n get signal(): AbortSignal {\n return this.#connectionController.signal;\n }\n}\n\nfunction send(socket: WebSocket, message: string): void {\n if (socket.readyState !== WebSocket.OPEN) {\n throw new Error(\"Relay connection is not open\");\n }\n socket.send(message);\n}\n\nfunction reportFailure(\n socket: WebSocket,\n command: SessionPromptCommand,\n code: string,\n message: string,\n): void {\n if (socket.readyState !== WebSocket.OPEN) {\n return;\n }\n send(\n socket,\n encodeSessionFailedEvent({\n code,\n commandId: command.commandId,\n kind: SESSION_FAILED_KIND,\n message,\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n sessionId: command.sessionId,\n }),\n );\n}\n\nasync function executePrompt(\n socket: WebSocket,\n command: SessionPromptCommand,\n config: DaemonConfig,\n audit: AuditStore,\n sessions: AcpSessionManager,\n signal: AbortSignal,\n): Promise<void> {\n try {\n const approvedRoot = await authorizeBinding(\n command.bindingId,\n config.bindingId,\n config.approvedRoot,\n );\n const agent = findLocalAgent(config.agents, command.agentId);\n const processAttemptId = randomUUID();\n audit.record({\n commandId: command.commandId,\n event: \"session_authorized\",\n sessionId: command.sessionId,\n });\n send(\n socket,\n encodeSessionStartedEvent({\n commandId: command.commandId,\n kind: SESSION_STARTED_KIND,\n processAttemptId,\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n sessionId: command.sessionId,\n }),\n );\n\n const result = await sessions.runPrompt({\n agent,\n cwd: approvedRoot,\n onActivity: (activity) => {\n send(\n socket,\n encodeAgentActivityEvent({\n activityId: activity.activityId,\n activityType: activity.activityType,\n commandId: command.commandId,\n input: activity.input,\n kind: AGENT_ACTIVITY_KIND,\n locations: activity.locations,\n name: activity.name,\n output: activity.output,\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n sequence: activity.sequence,\n sessionId: command.sessionId,\n status: activity.status,\n title: activity.title,\n toolKind: activity.toolKind,\n }),\n );\n return Promise.resolve();\n },\n onText: (text) => {\n send(\n socket,\n encodeAgentMessageDeltaEvent({\n commandId: command.commandId,\n kind: AGENT_MESSAGE_DELTA_KIND,\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n sessionId: command.sessionId,\n text,\n }),\n );\n return Promise.resolve();\n },\n prompt: command.prompt,\n sessionId: command.sessionId,\n signal,\n });\n\n send(\n socket,\n encodeSessionCompletedEvent({\n commandId: command.commandId,\n kind: SESSION_COMPLETED_KIND,\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n sessionId: command.sessionId,\n stopReason: result.stopReason,\n }),\n );\n audit.record({\n commandId: command.commandId,\n event:\n result.stopReason === \"cancelled\"\n ? \"session_cancelled\"\n : \"session_completed\",\n sessionId: command.sessionId,\n });\n } catch (error) {\n audit.record({\n commandId: command.commandId,\n event: \"session_failed\",\n sessionId: command.sessionId,\n });\n reportFailure(\n socket,\n command,\n \"agent_execution_failed\",\n \"The local agent could not complete the request\",\n );\n console.error(\"Mobius daemon command failed\", error);\n }\n}\n\nfunction waitForRelayRetry(signal: AbortSignal): Promise<void> {\n if (signal.aborted) {\n return Promise.resolve();\n }\n\n return new Promise((resolve) => {\n const timeout = setTimeout(finish, RELAY_RECONNECT_DELAY_MILLISECONDS);\n\n function finish(): void {\n clearTimeout(timeout);\n signal.removeEventListener(\"abort\", finish);\n resolve();\n }\n\n signal.addEventListener(\"abort\", finish, { once: true });\n });\n}\n\nasync function runRelayConnection(\n config: DaemonConfig,\n audit: AuditStore,\n sessions: AcpSessionManager,\n signal: AbortSignal,\n): Promise<void> {\n const socket = await connectRelay(config.relayUrl, signal);\n const activeTurns = new Map<string, ActiveDaemonTurn>();\n\n await new Promise<void>((resolve, reject) => {\n let finished = false;\n\n const cleanup = (): void => {\n signal.removeEventListener(\"abort\", stop);\n socket.removeEventListener(\"close\", handleClose);\n socket.removeEventListener(\"error\", handleError);\n socket.removeEventListener(\"message\", handleMessage);\n for (const turn of activeTurns.values()) {\n turn.abortConnection();\n }\n activeTurns.clear();\n };\n\n const resolveConnection = (): void => {\n if (finished) {\n return;\n }\n finished = true;\n cleanup();\n resolve();\n };\n\n const rejectConnection = (): void => {\n if (finished) {\n return;\n }\n finished = true;\n cleanup();\n reject(new Error(\"Relay WebSocket failed\"));\n };\n\n const stop = (): void => {\n socket.close(1000, \"Daemon stopped\");\n resolveConnection();\n };\n\n signal.addEventListener(\"abort\", stop, { once: true });\n const handleClose = (): void => {\n resolveConnection();\n };\n const handleError = (): void => {\n if (signal.aborted) {\n resolveConnection();\n return;\n }\n rejectConnection();\n };\n const handleMessage = (event: MessageEvent<unknown>): void => {\n const encoded: unknown = event.data;\n if (typeof encoded !== \"string\") {\n socket.close(1003, \"Text message required\");\n return;\n }\n\n try {\n const kind = decodeMessageKind(encoded);\n if (kind === SESSION_CANCEL_KIND) {\n const cancellation = decodeSessionCancelCommand(encoded);\n const turn = activeTurns.get(cancellation.commandId);\n if (turn === undefined || !turn.matches(cancellation)) {\n console.warn(\n \"Mobius daemon ignored cancellation for an inactive turn\",\n );\n return;\n }\n if (!turn.requestCancellation()) {\n return;\n }\n audit.record({\n commandId: cancellation.commandId,\n event: \"session_cancellation_requested\",\n sessionId: cancellation.sessionId,\n });\n void sessions.cancelPrompt(cancellation.sessionId).catch((error) => {\n console.error(\n \"Mobius daemon could not cancel the agent turn\",\n error,\n );\n });\n return;\n }\n if (kind !== SESSION_PROMPT_KIND) {\n socket.close(1008, \"Unsupported protocol message\");\n return;\n }\n const command = decodeSessionPromptCommand(encoded);\n if (activeTurns.has(command.commandId)) {\n reportFailure(\n socket,\n command,\n \"duplicate_command\",\n \"The command is already running\",\n );\n return;\n }\n\n const turn = new ActiveDaemonTurn(command, new AbortController());\n activeTurns.set(command.commandId, turn);\n void executePrompt(\n socket,\n command,\n config,\n audit,\n sessions,\n turn.signal,\n )\n .catch((error: unknown) => {\n console.error(\"Mobius daemon turn failed\", error);\n })\n .finally(() => {\n activeTurns.delete(command.commandId);\n });\n } catch (error) {\n console.error(\"Mobius daemon rejected a message\", error);\n socket.close(1008, \"Invalid protocol message\");\n }\n };\n socket.addEventListener(\"close\", handleClose);\n socket.addEventListener(\"error\", handleError);\n socket.addEventListener(\"message\", handleMessage);\n\n if (signal.aborted) {\n stop();\n }\n });\n}\n\nexport async function runDaemon(\n config: DaemonConfig,\n audit: AuditStore,\n signal: AbortSignal,\n): Promise<void> {\n const sessions = new AcpSessionManager();\n let retryAnnounced = false;\n\n try {\n while (!signal.aborted) {\n try {\n await runRelayConnection(config, audit, sessions, signal);\n retryAnnounced = false;\n } catch {\n if (signal.aborted) {\n return;\n }\n if (!retryAnnounced) {\n console.warn(\"Mobius daemon is waiting for the relay\");\n retryAnnounced = true;\n }\n }\n\n await waitForRelayRetry(signal);\n }\n } finally {\n await sessions.close();\n }\n}\n", "export const SESSION_PROMPT_KIND = \"session.prompt\";\nexport const SESSION_CANCEL_KIND = \"session.cancel\";\nexport const RUNTIME_STATUS_KIND = \"runtime.status\";\nexport const SESSION_STARTED_KIND = \"session.started\";\nexport const AGENT_MESSAGE_DELTA_KIND = \"agent.message.delta\";\nexport const AGENT_ACTIVITY_KIND = \"agent.activity\";\nexport const AGENT_ACTIVITY_DETAIL_LIMIT = 24_000;\nexport const AGENT_ACTIVITY_LOCATION_LIMIT = 12;\nexport const AGENT_ACTIVITY_LOCATION_LENGTH_LIMIT = 1_024;\nexport const SESSION_COMPLETED_KIND = \"session.completed\";\nexport const SESSION_FAILED_KIND = \"session.failed\";\n\nexport interface SessionPromptCommand {\n readonly agentId: string;\n readonly bindingId: string;\n readonly commandId: string;\n readonly kind: typeof SESSION_PROMPT_KIND;\n readonly prompt: string;\n readonly protocolVersion: number;\n readonly sessionId: string;\n}\n\nexport interface SessionCancelCommand {\n readonly commandId: string;\n readonly kind: typeof SESSION_CANCEL_KIND;\n readonly protocolVersion: number;\n readonly sessionId: string;\n}\n\nexport interface RuntimeStatusEvent {\n readonly kind: typeof RUNTIME_STATUS_KIND;\n readonly online: boolean;\n readonly protocolVersion: number;\n readonly runtimeId: string;\n}\n\nexport interface SessionStartedEvent {\n readonly commandId: string;\n readonly kind: typeof SESSION_STARTED_KIND;\n readonly processAttemptId: string;\n readonly protocolVersion: number;\n readonly sessionId: string;\n}\n\nexport interface AgentMessageDeltaEvent {\n readonly commandId: string;\n readonly kind: typeof AGENT_MESSAGE_DELTA_KIND;\n readonly protocolVersion: number;\n readonly sessionId: string;\n readonly text: string;\n}\n\nexport interface AgentActivityEvent {\n readonly activityId: string;\n readonly activityType: string;\n readonly commandId: string;\n readonly input: string;\n readonly kind: typeof AGENT_ACTIVITY_KIND;\n readonly locations: readonly string[];\n readonly name: string;\n readonly output: string;\n readonly protocolVersion: number;\n readonly sequence: number;\n readonly sessionId: string;\n readonly status: string;\n readonly title: string;\n readonly toolKind: string;\n}\n\nexport interface SessionCompletedEvent {\n readonly commandId: string;\n readonly kind: typeof SESSION_COMPLETED_KIND;\n readonly protocolVersion: number;\n readonly sessionId: string;\n readonly stopReason: string;\n}\n\nexport interface SessionFailedEvent {\n readonly code: string;\n readonly commandId: string;\n readonly kind: typeof SESSION_FAILED_KIND;\n readonly message: string;\n readonly protocolVersion: number;\n readonly sessionId: string;\n}\n", "export const MOBIUS_PROTOCOL_VERSION = 1;\n", "import {\n AGENT_ACTIVITY_DETAIL_LIMIT,\n AGENT_ACTIVITY_KIND,\n AGENT_ACTIVITY_LOCATION_LENGTH_LIMIT,\n AGENT_ACTIVITY_LOCATION_LIMIT,\n AGENT_MESSAGE_DELTA_KIND,\n type AgentActivityEvent,\n type AgentMessageDeltaEvent,\n RUNTIME_STATUS_KIND,\n type RuntimeStatusEvent,\n SESSION_CANCEL_KIND,\n SESSION_COMPLETED_KIND,\n SESSION_FAILED_KIND,\n SESSION_PROMPT_KIND,\n SESSION_STARTED_KIND,\n type SessionCancelCommand,\n type SessionCompletedEvent,\n type SessionFailedEvent,\n type SessionPromptCommand,\n type SessionStartedEvent,\n} from \"../messages.ts\";\nimport { MOBIUS_PROTOCOL_VERSION } from \"../version.ts\";\n\nconst IDENTIFIER_PATTERN = /^[a-zA-Z0-9][a-zA-Z0-9._:-]{0,127}$/;\nconst MAX_PROMPT_LENGTH = 10_000;\nconst MAX_EVENT_TEXT_LENGTH = 100_000;\nconst ACTIVITY_TYPES = new Set([\"plan\", \"progress\", \"reasoning\", \"tool\"]);\nconst ACTIVITY_STATUSES = new Set([\n \"pending\",\n \"running\",\n \"completed\",\n \"failed\",\n]);\nconst TOOL_KINDS = new Set([\n \"\",\n \"delete\",\n \"edit\",\n \"execute\",\n \"fetch\",\n \"move\",\n \"other\",\n \"read\",\n \"search\",\n \"switch_mode\",\n \"think\",\n]);\n\nexport class ProtocolMessageError extends Error {\n readonly code = \"invalid_protocol_message\";\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n this.name = \"ProtocolMessageError\";\n }\n}\n\nfunction isRecord(value: unknown): value is Readonly<Record<string, unknown>> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction parseJson(encoded: string): Readonly<Record<string, unknown>> {\n let value: unknown;\n try {\n value = JSON.parse(encoded);\n } catch (error) {\n throw new ProtocolMessageError(\"Message is not valid JSON\", {\n cause: error,\n });\n }\n\n if (!isRecord(value)) {\n throw new ProtocolMessageError(\"Message must be a JSON object\");\n }\n\n return value;\n}\n\nfunction assertExactKeys(\n value: Readonly<Record<string, unknown>>,\n allowedKeys: readonly string[],\n): void {\n for (const key of Object.keys(value)) {\n if (!allowedKeys.includes(key)) {\n throw new ProtocolMessageError(`Unexpected message field: ${key}`);\n }\n }\n}\n\nfunction readString(\n value: Readonly<Record<string, unknown>>,\n key: string,\n maximumLength: number,\n): string {\n const field = value[key];\n if (\n typeof field !== \"string\" ||\n field.length === 0 ||\n field.length > maximumLength\n ) {\n throw new ProtocolMessageError(`Invalid string field: ${key}`);\n }\n return field;\n}\n\nfunction readText(\n value: Readonly<Record<string, unknown>>,\n key: string,\n maximumLength: number,\n): string {\n const field = value[key];\n if (typeof field !== \"string\" || field.length > maximumLength) {\n throw new ProtocolMessageError(`Invalid text field: ${key}`);\n }\n return field;\n}\n\nfunction readAllowedString(\n value: Readonly<Record<string, unknown>>,\n key: string,\n allowedValues: ReadonlySet<string>,\n): string {\n const field = readText(value, key, 64);\n if (!allowedValues.has(field)) {\n throw new ProtocolMessageError(`Invalid value field: ${key}`);\n }\n return field;\n}\n\nfunction readSequence(\n value: Readonly<Record<string, unknown>>,\n key: string,\n): number {\n const field = value[key];\n if (typeof field !== \"number\" || !Number.isSafeInteger(field) || field < 0) {\n throw new ProtocolMessageError(`Invalid integer field: ${key}`);\n }\n return field;\n}\n\nfunction readLocations(\n value: Readonly<Record<string, unknown>>,\n): readonly string[] {\n const field = value[\"locations\"];\n if (!Array.isArray(field) || field.length > AGENT_ACTIVITY_LOCATION_LIMIT) {\n throw new ProtocolMessageError(\"Invalid locations field\");\n }\n const locations: string[] = [];\n const unique = new Set<string>();\n for (const location of field) {\n if (\n typeof location !== \"string\" ||\n location.length === 0 ||\n location.length > AGENT_ACTIVITY_LOCATION_LENGTH_LIMIT\n ) {\n throw new ProtocolMessageError(\"Invalid activity location\");\n }\n if (unique.has(location)) {\n throw new ProtocolMessageError(\"Duplicate activity location\");\n }\n unique.add(location);\n locations.push(location);\n }\n return locations;\n}\n\nfunction readIdentifier(\n value: Readonly<Record<string, unknown>>,\n key: string,\n): string {\n const field = readString(value, key, 128);\n if (!IDENTIFIER_PATTERN.test(field)) {\n throw new ProtocolMessageError(`Invalid identifier field: ${key}`);\n }\n return field;\n}\n\nfunction readBoolean(\n value: Readonly<Record<string, unknown>>,\n key: string,\n): boolean {\n const field = value[key];\n if (typeof field !== \"boolean\") {\n throw new ProtocolMessageError(`Invalid boolean field: ${key}`);\n }\n return field;\n}\n\nfunction assertProtocolVersion(value: Readonly<Record<string, unknown>>): void {\n // biome-ignore lint/complexity/useLiteralKeys: TypeScript requires index-signature access here.\n if (value[\"protocolVersion\"] !== MOBIUS_PROTOCOL_VERSION) {\n throw new ProtocolMessageError(\"Unsupported protocol version\");\n }\n}\n\nfunction assertKind(\n value: Readonly<Record<string, unknown>>,\n expectedKind: string,\n): void {\n // biome-ignore lint/complexity/useLiteralKeys: TypeScript requires index-signature access here.\n if (value[\"kind\"] !== expectedKind) {\n throw new ProtocolMessageError(`Expected message kind: ${expectedKind}`);\n }\n}\n\nexport function decodeMessageKind(encoded: string): string {\n return readString(parseJson(encoded), \"kind\", 64);\n}\n\nexport function decodeSessionPromptCommand(\n encoded: string,\n): SessionPromptCommand {\n const value = parseJson(encoded);\n assertExactKeys(value, [\n \"agentId\",\n \"bindingId\",\n \"commandId\",\n \"kind\",\n \"prompt\",\n \"protocolVersion\",\n \"sessionId\",\n ]);\n assertProtocolVersion(value);\n assertKind(value, SESSION_PROMPT_KIND);\n\n const prompt = readString(value, \"prompt\", MAX_PROMPT_LENGTH);\n if (prompt.trim().length === 0) {\n throw new ProtocolMessageError(\"Prompt must contain visible text\");\n }\n\n return {\n agentId: readIdentifier(value, \"agentId\"),\n bindingId: readIdentifier(value, \"bindingId\"),\n commandId: readIdentifier(value, \"commandId\"),\n kind: SESSION_PROMPT_KIND,\n prompt,\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n sessionId: readIdentifier(value, \"sessionId\"),\n };\n}\n\nexport function decodeSessionCancelCommand(\n encoded: string,\n): SessionCancelCommand {\n const value = parseJson(encoded);\n assertExactKeys(value, [\"commandId\", \"kind\", \"protocolVersion\", \"sessionId\"]);\n assertProtocolVersion(value);\n assertKind(value, SESSION_CANCEL_KIND);\n\n return {\n commandId: readIdentifier(value, \"commandId\"),\n kind: SESSION_CANCEL_KIND,\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n sessionId: readIdentifier(value, \"sessionId\"),\n };\n}\n\nexport function decodeRuntimeStatusEvent(encoded: string): RuntimeStatusEvent {\n const value = parseJson(encoded);\n assertExactKeys(value, [\"kind\", \"online\", \"protocolVersion\", \"runtimeId\"]);\n assertProtocolVersion(value);\n assertKind(value, RUNTIME_STATUS_KIND);\n\n return {\n kind: RUNTIME_STATUS_KIND,\n online: readBoolean(value, \"online\"),\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n runtimeId: readIdentifier(value, \"runtimeId\"),\n };\n}\n\nexport function decodeSessionStartedEvent(\n encoded: string,\n): SessionStartedEvent {\n const value = parseJson(encoded);\n assertExactKeys(value, [\n \"commandId\",\n \"kind\",\n \"processAttemptId\",\n \"protocolVersion\",\n \"sessionId\",\n ]);\n assertProtocolVersion(value);\n assertKind(value, SESSION_STARTED_KIND);\n\n return {\n commandId: readIdentifier(value, \"commandId\"),\n kind: SESSION_STARTED_KIND,\n processAttemptId: readIdentifier(value, \"processAttemptId\"),\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n sessionId: readIdentifier(value, \"sessionId\"),\n };\n}\n\nexport function decodeAgentMessageDeltaEvent(\n encoded: string,\n): AgentMessageDeltaEvent {\n const value = parseJson(encoded);\n assertExactKeys(value, [\n \"commandId\",\n \"kind\",\n \"protocolVersion\",\n \"sessionId\",\n \"text\",\n ]);\n assertProtocolVersion(value);\n assertKind(value, AGENT_MESSAGE_DELTA_KIND);\n\n return {\n commandId: readIdentifier(value, \"commandId\"),\n kind: AGENT_MESSAGE_DELTA_KIND,\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n sessionId: readIdentifier(value, \"sessionId\"),\n text: readString(value, \"text\", MAX_EVENT_TEXT_LENGTH),\n };\n}\n\nexport function decodeAgentActivityEvent(encoded: string): AgentActivityEvent {\n const value = parseJson(encoded);\n assertExactKeys(value, [\n \"activityId\",\n \"activityType\",\n \"commandId\",\n \"input\",\n \"kind\",\n \"locations\",\n \"name\",\n \"output\",\n \"protocolVersion\",\n \"sequence\",\n \"sessionId\",\n \"status\",\n \"title\",\n \"toolKind\",\n ]);\n assertProtocolVersion(value);\n assertKind(value, AGENT_ACTIVITY_KIND);\n\n return {\n activityId: readIdentifier(value, \"activityId\"),\n activityType: readAllowedString(value, \"activityType\", ACTIVITY_TYPES),\n commandId: readIdentifier(value, \"commandId\"),\n input: readText(value, \"input\", AGENT_ACTIVITY_DETAIL_LIMIT),\n kind: AGENT_ACTIVITY_KIND,\n locations: readLocations(value),\n name: readText(value, \"name\", 128),\n output: readText(value, \"output\", AGENT_ACTIVITY_DETAIL_LIMIT),\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n sequence: readSequence(value, \"sequence\"),\n sessionId: readIdentifier(value, \"sessionId\"),\n status: readAllowedString(value, \"status\", ACTIVITY_STATUSES),\n title: readString(value, \"title\", 500),\n toolKind: readAllowedString(value, \"toolKind\", TOOL_KINDS),\n };\n}\n\nexport function decodeSessionCompletedEvent(\n encoded: string,\n): SessionCompletedEvent {\n const value = parseJson(encoded);\n assertExactKeys(value, [\n \"commandId\",\n \"kind\",\n \"protocolVersion\",\n \"sessionId\",\n \"stopReason\",\n ]);\n assertProtocolVersion(value);\n assertKind(value, SESSION_COMPLETED_KIND);\n\n return {\n commandId: readIdentifier(value, \"commandId\"),\n kind: SESSION_COMPLETED_KIND,\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n sessionId: readIdentifier(value, \"sessionId\"),\n stopReason: readString(value, \"stopReason\", 64),\n };\n}\n\nexport function decodeSessionFailedEvent(encoded: string): SessionFailedEvent {\n const value = parseJson(encoded);\n assertExactKeys(value, [\n \"code\",\n \"commandId\",\n \"kind\",\n \"message\",\n \"protocolVersion\",\n \"sessionId\",\n ]);\n assertProtocolVersion(value);\n assertKind(value, SESSION_FAILED_KIND);\n\n return {\n code: readIdentifier(value, \"code\"),\n commandId: readIdentifier(value, \"commandId\"),\n kind: SESSION_FAILED_KIND,\n message: readString(value, \"message\", 500),\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n sessionId: readIdentifier(value, \"sessionId\"),\n };\n}\n\nexport function encodeSessionPromptCommand(\n message: SessionPromptCommand,\n): string {\n return JSON.stringify(message);\n}\n\nexport function encodeSessionCancelCommand(\n message: SessionCancelCommand,\n): string {\n return JSON.stringify(message);\n}\n\nexport function encodeRuntimeStatusEvent(message: RuntimeStatusEvent): string {\n return JSON.stringify(message);\n}\n\nexport function encodeSessionStartedEvent(\n message: SessionStartedEvent,\n): string {\n return JSON.stringify(message);\n}\n\nexport function encodeAgentMessageDeltaEvent(\n message: AgentMessageDeltaEvent,\n): string {\n return JSON.stringify(message);\n}\n\nexport function encodeAgentActivityEvent(message: AgentActivityEvent): string {\n return JSON.stringify(message);\n}\n\nexport function encodeSessionCompletedEvent(\n message: SessionCompletedEvent,\n): string {\n return JSON.stringify(message);\n}\n\nexport function encodeSessionFailedEvent(message: SessionFailedEvent): string {\n return JSON.stringify(message);\n}\n", "import { spawn } from \"node:child_process\";\nimport { once } from \"node:events\";\n\nimport {\n type ActiveSession,\n type ClientConnection,\n methods,\n ndJsonStream,\n PROTOCOL_VERSION,\n} from \"@agentclientprotocol/sdk\";\n\nimport type { LocalAgentDefinition } from \"../config.ts\";\nimport {\n type AcpActivity,\n AcpActivityTracker,\n isProgressMessage,\n} from \"./activity.ts\";\nimport { createAcpClient } from \"./create-client.ts\";\n\nconst PROCESS_STOP_TIMEOUT_MILLISECONDS = 1_000;\n\nexport interface AcpTurnOptions {\n readonly agent: LocalAgentDefinition;\n readonly cwd: string;\n readonly onActivity: (activity: AcpActivity) => Promise<void>;\n readonly onText: (text: string) => Promise<void>;\n readonly prompt: string;\n readonly sessionId: string;\n readonly signal: AbortSignal;\n}\n\nexport interface AcpPromptResult {\n readonly stopReason: string;\n}\n\nexport class AcpExecutionError extends Error {\n readonly code = \"acp_execution_failed\";\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n this.name = \"AcpExecutionError\";\n }\n}\n\nfunction readableWebStream(\n input: NodeJS.ReadableStream,\n): ReadableStream<Uint8Array> {\n let streamOpen = true;\n return new ReadableStream<Uint8Array>({\n start(controller) {\n input.on(\"data\", (chunk: unknown) => {\n if (!streamOpen) {\n return;\n }\n if (chunk instanceof Uint8Array) {\n controller.enqueue(new Uint8Array(chunk));\n return;\n }\n streamOpen = false;\n controller.error(new Error(\"ACP process produced a non-binary chunk\"));\n });\n input.once(\"end\", () => {\n if (!streamOpen) {\n return;\n }\n streamOpen = false;\n controller.close();\n });\n input.once(\"error\", (error) => {\n if (!streamOpen) {\n return;\n }\n streamOpen = false;\n controller.error(error);\n });\n },\n cancel() {\n streamOpen = false;\n },\n });\n}\n\nfunction writableWebStream(\n output: NodeJS.WritableStream,\n): WritableStream<Uint8Array> {\n return new WritableStream<Uint8Array>({\n write(chunk) {\n return new Promise<void>((resolve, reject) => {\n output.write(chunk, (error) => {\n if (error) {\n reject(error);\n return;\n }\n resolve();\n });\n });\n },\n });\n}\n\nasync function stopAgentProcess(\n child: ReturnType<typeof spawn>,\n): Promise<void> {\n child.stdin?.end();\n if (child.exitCode !== null) {\n return;\n }\n\n child.kill(\"SIGTERM\");\n try {\n await once(child, \"exit\", {\n signal: AbortSignal.timeout(PROCESS_STOP_TIMEOUT_MILLISECONDS),\n });\n } catch {\n if (child.exitCode === null) {\n child.kill(\"SIGKILL\");\n await once(child, \"exit\");\n }\n }\n}\n\nfunction rejectWhenAborted(signal: AbortSignal): Promise<never> {\n return new Promise((_resolve, reject) => {\n const rejectAbort = (): void => {\n reject(signal.reason ?? new Error(\"ACP request was cancelled\"));\n };\n signal.addEventListener(\"abort\", rejectAbort, { once: true });\n if (signal.aborted) {\n rejectAbort();\n }\n });\n}\n\nclass AcpProcessSession {\n readonly #agentId: string;\n readonly #child: ReturnType<typeof spawn>;\n readonly #connection: ClientConnection;\n readonly #processExit: Promise<void>;\n readonly #session: ActiveSession;\n #turnRunning = false;\n\n private constructor(\n agentId: string,\n child: ReturnType<typeof spawn>,\n connection: ClientConnection,\n session: ActiveSession,\n processExit: Promise<void>,\n ) {\n this.#agentId = agentId;\n this.#child = child;\n this.#connection = connection;\n this.#session = session;\n this.#processExit = processExit;\n }\n\n static async start(\n agent: LocalAgentDefinition,\n cwd: string,\n signal: AbortSignal,\n ): Promise<AcpProcessSession> {\n signal.throwIfAborted();\n const child = spawn(agent.command, [...agent.arguments], {\n cwd,\n stdio: [\"pipe\", \"pipe\", \"pipe\"],\n });\n child.stderr.setEncoding(\"utf8\");\n child.stderr.on(\"data\", (chunk: string) => {\n process.stderr.write(`[${agent.id}-acp] ${chunk}`);\n });\n\n const processExit = new Promise<void>((resolve) => {\n child.once(\"error\", resolve);\n child.once(\"exit\", resolve);\n });\n const stream = ndJsonStream(\n writableWebStream(child.stdin),\n readableWebStream(child.stdout),\n );\n const connection = createAcpClient().connect(stream);\n\n try {\n await Promise.race([\n connection.agent.request(\n methods.agent.initialize,\n {\n clientCapabilities: {},\n protocolVersion: PROTOCOL_VERSION,\n },\n { cancellationSignal: signal },\n ),\n processExit.then(() => {\n throw new AcpExecutionError(\"ACP agent exited during initialization\");\n }),\n rejectWhenAborted(signal),\n ]);\n const session = await Promise.race([\n connection.agent\n .buildSession(cwd)\n .start({ cancellationSignal: signal }),\n processExit.then(() => {\n throw new AcpExecutionError(\n \"ACP agent exited while starting a session\",\n );\n }),\n rejectWhenAborted(signal),\n ]);\n return new AcpProcessSession(\n agent.id,\n child,\n connection,\n session,\n processExit,\n );\n } catch (error) {\n connection.close(error);\n await stopAgentProcess(child);\n throw new AcpExecutionError(\"ACP agent initialization failed\", {\n cause: error,\n });\n }\n }\n\n readonly belongsTo = (agentId: string): boolean => this.#agentId === agentId;\n\n readonly cancel = async (): Promise<void> => {\n if (!this.#turnRunning) {\n return;\n }\n await this.#connection.agent.notify(methods.agent.session.cancel, {\n sessionId: this.#session.sessionId,\n });\n };\n\n readonly prompt = async (\n prompt: string,\n onActivity: (activity: AcpActivity) => Promise<void>,\n onText: (text: string) => Promise<void>,\n signal: AbortSignal,\n ): Promise<AcpPromptResult> => {\n if (this.#turnRunning) {\n throw new AcpExecutionError(\n \"Another prompt is already running in this conversation\",\n );\n }\n this.#turnRunning = true;\n const activities = new AcpActivityTracker(onActivity);\n\n const runTurn = async (): Promise<AcpPromptResult> => {\n const completion = this.#session.prompt(prompt, {\n cancellationSignal: signal,\n });\n for (;;) {\n const message = await this.#session.nextUpdate();\n if (message.kind === \"stop\") {\n await completion;\n await activities.finish();\n return { stopReason: message.stopReason };\n }\n const update = message.update;\n if (update.sessionUpdate === \"agent_message_chunk\") {\n if (update.content.type === \"text\") {\n if (isProgressMessage(update)) {\n await activities.recordNarrative(\n \"progress\",\n update.messageId ?? \"current\",\n update.content.text,\n );\n } else {\n await activities.finishNarrative();\n await onText(update.content.text);\n }\n }\n continue;\n }\n if (update.sessionUpdate === \"agent_thought_chunk\") {\n if (update.content.type === \"text\") {\n await activities.recordNarrative(\n \"reasoning\",\n update.messageId ?? \"current\",\n update.content.text,\n );\n }\n continue;\n }\n if (update.sessionUpdate === \"tool_call\") {\n await activities.recordToolCall(update);\n continue;\n }\n if (update.sessionUpdate === \"tool_call_update\") {\n await activities.recordToolCallUpdate(update);\n continue;\n }\n if (update.sessionUpdate === \"plan\") {\n await activities.recordPlan(update);\n continue;\n }\n if (update.sessionUpdate === \"plan_update\") {\n await activities.recordPlanUpdate(update);\n continue;\n }\n if (update.sessionUpdate === \"plan_removed\") {\n await activities.removePlan(update);\n }\n }\n };\n\n try {\n return await Promise.race([\n runTurn(),\n this.#processExit.then(() => {\n throw new AcpExecutionError(\"ACP agent exited during a prompt\");\n }),\n rejectWhenAborted(signal),\n ]);\n } catch (error) {\n await activities.finish();\n throw new AcpExecutionError(\"ACP agent execution failed\", {\n cause: error,\n });\n } finally {\n this.#turnRunning = false;\n }\n };\n\n readonly close = async (): Promise<void> => {\n this.#session.dispose();\n this.#connection.close();\n await stopAgentProcess(this.#child);\n };\n}\n\nexport class AcpSessionManager {\n readonly #activeSessionIds = new Set<string>();\n readonly #cancellationRequests = new Set<string>();\n readonly #sessions = new Map<string, AcpProcessSession>();\n\n readonly cancelPrompt = async (sessionId: string): Promise<void> => {\n this.#cancellationRequests.add(sessionId);\n const runtime = this.#sessions.get(sessionId);\n if (runtime !== undefined) {\n await runtime.cancel();\n }\n };\n\n readonly runPrompt = async (\n options: AcpTurnOptions,\n ): Promise<AcpPromptResult> => {\n if (this.#activeSessionIds.has(options.sessionId)) {\n throw new AcpExecutionError(\n \"Another prompt is already running in this conversation\",\n );\n }\n this.#activeSessionIds.add(options.sessionId);\n\n let runtime = this.#sessions.get(options.sessionId);\n if (runtime !== undefined && !runtime.belongsTo(options.agent.id)) {\n this.#activeSessionIds.delete(options.sessionId);\n throw new AcpExecutionError(\n \"The agent cannot change after a conversation has started\",\n );\n }\n try {\n if (this.#cancellationRequests.has(options.sessionId)) {\n return { stopReason: \"cancelled\" };\n }\n if (runtime === undefined) {\n runtime = await AcpProcessSession.start(\n options.agent,\n options.cwd,\n options.signal,\n );\n this.#sessions.set(options.sessionId, runtime);\n }\n if (this.#cancellationRequests.has(options.sessionId)) {\n return { stopReason: \"cancelled\" };\n }\n return await runtime.prompt(\n options.prompt,\n options.onActivity,\n options.onText,\n options.signal,\n );\n } catch (error) {\n if (runtime !== undefined) {\n this.#sessions.delete(options.sessionId);\n await runtime.close();\n }\n if (error instanceof AcpExecutionError) {\n throw error;\n }\n throw new AcpExecutionError(\"ACP agent execution failed\", {\n cause: error,\n });\n } finally {\n this.#activeSessionIds.delete(options.sessionId);\n this.#cancellationRequests.delete(options.sessionId);\n }\n };\n\n readonly close = async (): Promise<void> => {\n const sessions = [...this.#sessions.values()];\n this.#sessions.clear();\n await Promise.all(sessions.map(async (session) => await session.close()));\n };\n}\n", "import type {\n ContentChunk,\n Plan,\n PlanEntry,\n PlanRemoved,\n PlanUpdate,\n ToolCall,\n ToolCallLocation,\n ToolCallUpdate,\n} from \"@agentclientprotocol/sdk\";\nimport {\n AGENT_ACTIVITY_DETAIL_LIMIT,\n AGENT_ACTIVITY_LOCATION_LENGTH_LIMIT,\n AGENT_ACTIVITY_LOCATION_LIMIT,\n} from \"@moxt-ai/mobius-protocol\";\n\nconst TRUNCATION_MARKER = \"\\n\u2026 output truncated by Mobius\";\n\nfunction isRecord(value: unknown): value is Readonly<Record<string, unknown>> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nexport class AcpActivity {\n readonly activityId: string;\n readonly activityType: string;\n readonly input: string;\n readonly locations: readonly string[];\n readonly name: string;\n readonly output: string;\n readonly sequence: number;\n readonly status: string;\n readonly title: string;\n readonly toolKind: string;\n\n constructor(\n activityId: string,\n activityType: string,\n input: string,\n locations: readonly string[],\n name: string,\n output: string,\n sequence: number,\n status: string,\n title: string,\n toolKind: string,\n ) {\n this.activityId = activityId;\n this.activityType = activityType;\n this.input = input;\n this.locations = locations;\n this.name = name;\n this.output = output;\n this.sequence = sequence;\n this.status = status;\n this.title = title;\n this.toolKind = toolKind;\n }\n\n readonly complete = (): AcpActivity =>\n (this.activityType === \"progress\" || this.activityType === \"reasoning\") &&\n (this.status === \"pending\" || this.status === \"running\")\n ? new AcpActivity(\n this.activityId,\n this.activityType,\n this.input,\n this.locations,\n this.name,\n this.output,\n this.sequence,\n \"completed\",\n this.title,\n this.toolKind,\n )\n : this;\n}\n\nclass ActivityIdentity {\n readonly id: string;\n readonly sequence: number;\n\n constructor(id: string, sequence: number) {\n this.id = id;\n this.sequence = sequence;\n }\n}\n\nfunction truncate(value: string, maximumLength: number): string {\n if (value.length <= maximumLength) {\n return value;\n }\n return `${value.slice(0, maximumLength - TRUNCATION_MARKER.length)}${TRUNCATION_MARKER}`;\n}\n\nfunction formatUnknown(value: unknown): string {\n if (typeof value === \"string\") {\n return truncate(value, AGENT_ACTIVITY_DETAIL_LIMIT);\n }\n try {\n const encoded = JSON.stringify(value, null, 2);\n return truncate(encoded ?? \"\", AGENT_ACTIVITY_DETAIL_LIMIT);\n } catch {\n return truncate(String(value), AGENT_ACTIVITY_DETAIL_LIMIT);\n }\n}\n\nfunction readContentOutput(content: unknown): string {\n if (!Array.isArray(content) || content.length === 0) {\n return \"\";\n }\n return formatUnknown(content);\n}\n\nfunction normalizeLocations(\n locations: readonly ToolCallLocation[],\n): readonly string[] {\n const normalized: string[] = [];\n const unique = new Set<string>();\n for (const location of locations) {\n if (normalized.length === AGENT_ACTIVITY_LOCATION_LIMIT) {\n break;\n }\n const suffix =\n typeof location.line === \"number\" ? `:${location.line.toString()}` : \"\";\n const value = truncate(\n `${location.path}${suffix}`,\n AGENT_ACTIVITY_LOCATION_LENGTH_LIMIT,\n );\n if (value.length > 0 && !unique.has(value)) {\n unique.add(value);\n normalized.push(value);\n }\n }\n return normalized;\n}\n\nfunction normalizeToolStatus(status: string, fallback: string): string {\n if (status === \"pending\") {\n return \"pending\";\n }\n if (status === \"in_progress\") {\n return \"running\";\n }\n if (status === \"completed\" || status === \"failed\") {\n return status;\n }\n return fallback;\n}\n\nfunction normalizeTitle(title: string, fallback: string): string {\n const normalized = title.trim();\n return truncate(normalized.length === 0 ? fallback : normalized, 500);\n}\n\nfunction formatPlanEntries(entries: readonly PlanEntry[]): string {\n const lines: string[] = [];\n for (const entry of entries) {\n lines.push(`[${entry.status}] ${entry.content}`);\n }\n return truncate(lines.join(\"\\n\"), AGENT_ACTIVITY_DETAIL_LIMIT);\n}\n\nfunction planStatus(entries: readonly PlanEntry[]): string {\n if (entries.length === 0) {\n return \"completed\";\n }\n if (entries.every((entry) => entry.status === \"completed\")) {\n return \"completed\";\n }\n if (entries.some((entry) => entry.status === \"in_progress\")) {\n return \"running\";\n }\n return \"pending\";\n}\n\nfunction contentPhase(content: ContentChunk): string {\n const metadata = content._meta;\n if (metadata === undefined || metadata === null) {\n return \"\";\n }\n const codex = metadata[\"codex\"];\n if (!isRecord(codex)) {\n return \"\";\n }\n const phase = codex[\"phase\"];\n return typeof phase === \"string\" ? phase : \"\";\n}\n\nexport function isProgressMessage(content: ContentChunk): boolean {\n return contentPhase(content) === \"commentary\";\n}\n\nexport class AcpActivityTracker {\n readonly #activities = new Map<string, AcpActivity>();\n readonly #identities = new Map<string, ActivityIdentity>();\n readonly #onActivity: (activity: AcpActivity) => Promise<void>;\n #activeNarrativeKey = \"\";\n #nextSequence = 0;\n\n constructor(onActivity: (activity: AcpActivity) => Promise<void>) {\n this.#onActivity = onActivity;\n }\n\n readonly recordNarrative = async (\n activityType: string,\n messageId: string,\n text: string,\n ): Promise<void> => {\n const key = `${activityType}:${messageId}`;\n if (this.#activeNarrativeKey !== key) {\n await this.finishNarrative();\n }\n const previous = this.#activities.get(key);\n const identity = this.#identity(key);\n const activity = new AcpActivity(\n identity.id,\n activityType,\n \"\",\n [],\n \"\",\n truncate(`${previous?.output ?? \"\"}${text}`, AGENT_ACTIVITY_DETAIL_LIMIT),\n identity.sequence,\n \"running\",\n activityType === \"reasoning\" ? \"Reasoning\" : \"Progress update\",\n activityType === \"reasoning\" ? \"think\" : \"\",\n );\n await this.#record(key, activity);\n this.#activeNarrativeKey = key;\n };\n\n readonly recordPlan = async (plan: Plan): Promise<void> => {\n await this.finishNarrative();\n await this.#recordPlanEntries(\"plan:default\", plan.entries);\n };\n\n readonly recordPlanUpdate = async (update: PlanUpdate): Promise<void> => {\n await this.finishNarrative();\n const plan = update.plan;\n const key = `plan:${plan.planId}`;\n if (plan.type === \"items\") {\n await this.#recordPlanEntries(key, plan.entries);\n return;\n }\n const identity = this.#identity(key);\n const output =\n plan.type === \"markdown\" ? plan.content : `Plan file: ${plan.uri}`;\n await this.#record(\n key,\n new AcpActivity(\n identity.id,\n \"plan\",\n \"\",\n [],\n \"\",\n truncate(output, AGENT_ACTIVITY_DETAIL_LIMIT),\n identity.sequence,\n \"running\",\n \"Plan\",\n \"\",\n ),\n );\n };\n\n readonly removePlan = async (update: PlanRemoved): Promise<void> => {\n await this.finishNarrative();\n const key = `plan:${update.planId}`;\n const previous = this.#activities.get(key);\n if (previous !== undefined) {\n await this.#record(\n key,\n new AcpActivity(\n previous.activityId,\n previous.activityType,\n previous.input,\n previous.locations,\n previous.name,\n previous.output,\n previous.sequence,\n \"completed\",\n previous.title,\n previous.toolKind,\n ),\n );\n }\n };\n\n readonly recordToolCall = async (update: ToolCall): Promise<void> => {\n await this.finishNarrative();\n const key = `tool:${update.toolCallId}`;\n const identity = this.#identity(key);\n const output =\n update.rawOutput === undefined\n ? readContentOutput(update.content)\n : formatUnknown(update.rawOutput);\n await this.#record(\n key,\n new AcpActivity(\n identity.id,\n \"tool\",\n update.rawInput === undefined ? \"\" : formatUnknown(update.rawInput),\n normalizeLocations(update.locations ?? []),\n truncate(update.name ?? \"\", 128),\n output,\n identity.sequence,\n normalizeToolStatus(update.status ?? \"pending\", \"pending\"),\n normalizeTitle(update.title, \"Tool call\"),\n update.kind ?? \"other\",\n ),\n );\n };\n\n readonly recordToolCallUpdate = async (\n update: ToolCallUpdate,\n ): Promise<void> => {\n await this.finishNarrative();\n const key = `tool:${update.toolCallId}`;\n const previous = this.#activities.get(key);\n const identity = this.#identity(key);\n const output =\n update.rawOutput !== undefined\n ? formatUnknown(update.rawOutput)\n : update.content !== undefined && update.content !== null\n ? readContentOutput(update.content)\n : (previous?.output ?? \"\");\n await this.#record(\n key,\n new AcpActivity(\n identity.id,\n \"tool\",\n update.rawInput === undefined\n ? (previous?.input ?? \"\")\n : formatUnknown(update.rawInput),\n update.locations === undefined || update.locations === null\n ? (previous?.locations ?? [])\n : normalizeLocations(update.locations),\n update.name === undefined || update.name === null\n ? (previous?.name ?? \"\")\n : truncate(update.name, 128),\n output,\n identity.sequence,\n update.status === undefined || update.status === null\n ? (previous?.status ?? \"pending\")\n : normalizeToolStatus(update.status, previous?.status ?? \"pending\"),\n update.title === undefined || update.title === null\n ? (previous?.title ?? \"Tool call\")\n : normalizeTitle(update.title, \"Tool call\"),\n update.kind === undefined || update.kind === null\n ? (previous?.toolKind ?? \"other\")\n : update.kind,\n ),\n );\n };\n\n readonly finishNarrative = async (): Promise<void> => {\n const key = this.#activeNarrativeKey;\n if (key.length === 0) {\n return;\n }\n this.#activeNarrativeKey = \"\";\n const activity = this.#activities.get(key);\n if (activity === undefined) {\n return;\n }\n const completed = activity.complete();\n if (completed !== activity) {\n await this.#record(key, completed);\n }\n };\n\n readonly finish = async (): Promise<void> => {\n await this.finishNarrative();\n const entries = [...this.#activities.entries()].sort(\n (left, right) => left[1].sequence - right[1].sequence,\n );\n for (const [key, activity] of entries) {\n const completed = activity.complete();\n if (completed !== activity) {\n await this.#record(key, completed);\n }\n }\n };\n\n readonly #identity = (key: string): ActivityIdentity => {\n const existing = this.#identities.get(key);\n if (existing !== undefined) {\n return existing;\n }\n const identity = new ActivityIdentity(\n `activity-${crypto.randomUUID()}`,\n this.#nextSequence,\n );\n this.#nextSequence += 1;\n this.#identities.set(key, identity);\n return identity;\n };\n\n readonly #record = async (\n key: string,\n activity: AcpActivity,\n ): Promise<void> => {\n this.#activities.set(key, activity);\n await this.#onActivity(activity);\n };\n\n readonly #recordPlanEntries = async (\n key: string,\n entries: readonly PlanEntry[],\n ): Promise<void> => {\n const identity = this.#identity(key);\n await this.#record(\n key,\n new AcpActivity(\n identity.id,\n \"plan\",\n \"\",\n [],\n \"\",\n formatPlanEntries(entries),\n identity.sequence,\n planStatus(entries),\n \"Plan\",\n \"\",\n ),\n );\n };\n}\n", "import { type ClientApp, client } from \"@agentclientprotocol/sdk\";\n\nexport const createAcpClient = (): ClientApp => client({ name: \"mobius\" });\n", "import { realpath, stat } from \"node:fs/promises\";\n\nexport class LocalAuthorizationError extends Error {\n readonly code = \"local_authorization_failed\";\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n this.name = \"LocalAuthorizationError\";\n }\n}\n\nexport async function authorizeBinding(\n requestedBindingId: string,\n approvedBindingId: string,\n approvedRoot: string,\n): Promise<string> {\n if (requestedBindingId !== approvedBindingId) {\n throw new LocalAuthorizationError(\"The runtime binding is not authorized\");\n }\n\n try {\n const resolvedRoot = await realpath(approvedRoot);\n const metadata = await stat(resolvedRoot);\n if (!metadata.isDirectory()) {\n throw new LocalAuthorizationError(\"The approved root is not a directory\");\n }\n return resolvedRoot;\n } catch (error) {\n if (error instanceof LocalAuthorizationError) {\n throw error;\n }\n throw new LocalAuthorizationError(\"The approved root cannot be resolved\", {\n cause: error,\n });\n }\n}\n", "import { WebSocket } from \"undici\";\n\nimport { environmentProxyDispatcher } from \"../network/environment-proxy.ts\";\n\nconst CONNECTION_TIMEOUT_MILLISECONDS = 15_000;\n\nclass RelayConnectionError extends Error {\n readonly code: string;\n\n constructor(code: string, message: string, options: ErrorOptions = {}) {\n super(message, options);\n this.code = code;\n this.name = \"RelayConnectionError\";\n }\n}\n\nexport function connectRelay(\n url: URL,\n signal: AbortSignal,\n): Promise<WebSocket> {\n signal.throwIfAborted();\n\n return new Promise((resolve, reject) => {\n const socket = new WebSocket(url, {\n dispatcher: environmentProxyDispatcher,\n });\n let finished = false;\n const timeout = setTimeout(onTimeout, CONNECTION_TIMEOUT_MILLISECONDS);\n\n const cleanup = (): void => {\n clearTimeout(timeout);\n signal.removeEventListener(\"abort\", onAbort);\n socket.removeEventListener(\"close\", onClose);\n socket.removeEventListener(\"error\", onError);\n socket.removeEventListener(\"open\", onOpen);\n };\n const fail = (error: RelayConnectionError): void => {\n if (finished) {\n return;\n }\n finished = true;\n cleanup();\n socket.close();\n reject(error);\n };\n const onAbort = (): void => {\n fail(\n new RelayConnectionError(\n \"relay_connection_cancelled\",\n \"Relay connection was cancelled\",\n { cause: signal.reason },\n ),\n );\n };\n const onClose = (): void => {\n fail(\n new RelayConnectionError(\n \"relay_connection_closed\",\n \"Relay connection closed before it was ready\",\n ),\n );\n };\n const onError = (): void => {\n fail(\n new RelayConnectionError(\n \"relay_connection_failed\",\n \"Relay connection failed\",\n ),\n );\n };\n const onOpen = (): void => {\n if (finished) {\n return;\n }\n finished = true;\n cleanup();\n resolve(socket);\n };\n function onTimeout(): void {\n fail(\n new RelayConnectionError(\n \"relay_connection_timeout\",\n \"Relay connection timed out\",\n ),\n );\n }\n\n signal.addEventListener(\"abort\", onAbort, { once: true });\n socket.addEventListener(\"close\", onClose, { once: true });\n socket.addEventListener(\"error\", onError, { once: true });\n socket.addEventListener(\"open\", onOpen, { once: true });\n\n if (signal.aborted) {\n onAbort();\n }\n });\n}\n", "#!/usr/bin/env node\n\nimport { AuditStore } from \"./audit/audit-store.ts\";\nimport type { DaemonConfig } from \"./config.ts\";\nimport {\n pairLocalMachine,\n resumeLocalMachine,\n} from \"./pairing/pair-local-machine.ts\";\nimport { runDaemon } from \"./run-daemon.ts\";\n\nconst shutdown = new AbortController();\nprocess.once(\"SIGINT\", () => shutdown.abort());\nprocess.once(\"SIGTERM\", () => shutdown.abort());\n\nconst USAGE = `Mobius CLI\n\nUsage:\n mobius pair --url <relay-url> --code <pairing-code> --root <workspace>\n mobius start --channel <channel-id>\n\nCommands:\n pair Pair this machine and start its local daemon\n start Start the local daemon for a saved channel\n`;\n\nasync function main(): Promise<void> {\n const command = process.argv[2];\n if (command === undefined || command === \"--help\" || command === \"-h\") {\n process.stdout.write(USAGE);\n return;\n }\n\n let config: DaemonConfig;\n if (command === \"pair\") {\n const paired = await pairLocalMachine(process.argv.slice(3));\n config = paired.config;\n process.stdout.write(\"\\nLocal machine paired.\\n\");\n process.stdout.write(`Channel: ${paired.channelUrl}\\n`);\n process.stdout.write(\n \"Open this channel in any browser while the daemon is running.\\n\",\n );\n process.stdout.write(`Connection saved to ${paired.connectionPath}\\n`);\n } else if (command === \"start\") {\n const paired = await resumeLocalMachine(process.argv.slice(3));\n config = paired.config;\n process.stdout.write(\"\\nSaved local machine channel loaded.\\n\");\n process.stdout.write(`Channel: ${paired.channelUrl}\\n`);\n process.stdout.write(\n \"Open this channel in any browser while the daemon is running.\\n\",\n );\n } else {\n throw new Error(USAGE.trimEnd());\n }\n\n process.stdout.write(\n \"Starting the local daemon. Keep this terminal open.\\n\\n\",\n );\n const audit = new AuditStore(config.auditDatabasePath);\n try {\n await runDaemon(config, audit, shutdown.signal);\n } finally {\n audit.close();\n }\n}\n\ntry {\n await main();\n} catch (error) {\n if (!shutdown.signal.aborted) {\n const message = error instanceof Error ? error.message : \"Unknown failure\";\n process.stderr.write(`Mobius daemon failed: ${message}\\n`);\n process.exitCode = 1;\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["randomUUID", "IDENTIFIER_PATTERN", "isRecord", "IDENTIFIER_PATTERN", "WebSocket", "isRecord", "resolve", "realpath", "stat", "resolve", "WebSocket", "randomUUID", "resolve", "turn"]
3
+ "sources": ["../src/audit/audit-store.ts", "../src/pairing/pair-local-machine.ts", "../src/config.ts", "../src/network/environment-proxy.ts", "../src/run-daemon.ts", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/external.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/index.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/util.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/core.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/errors.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/parse.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/regexes.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/checks.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/doc.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/versions.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/schemas.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/memoizer.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/index.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ar.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/az.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/be.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/bg.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/bn.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ca.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ckb.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/cs.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/da.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/de.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/el.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/en.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/eo.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/es.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/fa.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/fi.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/fr.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/fr-CA.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/gu.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/he.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/hi.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/hr.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/hu.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/hy.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/id.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/is.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/it.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ja.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ka.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/km.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/kh.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/kn.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ko.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/lt.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/mk.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ms.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ne.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/nl.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/nn.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/no.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ota.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ps.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/pl.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/pt.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/pt-BR.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ro.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ru.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/sk.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/sl.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/sv.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ta.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/th.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/tk.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/tr.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/uk.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ua.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ur.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/uz.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/vi.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/zh-CN.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/zh-TW.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/yo.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/registries.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/compile.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/api.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/to-json-schema.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/json-schema-processors.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/json-schema-generator.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/json-schema.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/schemas.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/checks.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/errors.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/parse.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/compat.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/iso.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/from-json-schema.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/visit.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/deep-partial.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/in-out.js", "../../../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/coerce.js", "../../protocol/src/version.ts", "../../protocol/src/control-messages.ts", "../../protocol/src/messages.ts", "../../protocol/src/codecs/messages.ts", "../src/acp/session-manager.ts", "../src/acp/activity.ts", "../src/acp/create-client.ts", "../src/acp/session-store.ts", "../src/authorization/authorize-binding.ts", "../src/authorization/workspace-directory.ts", "../src/relay-connection/connect.ts", "../src/relay-connection/liveness.ts", "../src/relay-connection/timer.ts", "../src/cli.ts"],
4
+ "sourcesContent": ["import { mkdirSync } from \"node:fs\";\nimport { dirname } from \"node:path\";\nimport { DatabaseSync } from \"node:sqlite\";\n\nexport interface AuditRecord {\n readonly commandId: string;\n readonly event: string;\n readonly sessionId: string;\n}\n\nexport class AuditStore {\n private readonly database: DatabaseSync;\n\n constructor(path: string) {\n mkdirSync(dirname(path), { recursive: true });\n this.database = new DatabaseSync(path);\n this.database.exec(`\n CREATE TABLE IF NOT EXISTS audit_events (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n recorded_at TEXT NOT NULL,\n event TEXT NOT NULL,\n command_id TEXT NOT NULL,\n session_id TEXT NOT NULL\n ) STRICT\n `);\n }\n\n record(record: AuditRecord): void {\n this.database\n .prepare(\n `\n INSERT INTO audit_events (\n recorded_at,\n event,\n command_id,\n session_id\n ) VALUES (?, ?, ?, ?)\n `,\n )\n .run(\n new Date().toISOString(),\n record.event,\n record.commandId,\n record.sessionId,\n );\n }\n\n close(): void {\n this.database.close();\n }\n}\n", "import { randomUUID } from \"node:crypto\";\nimport {\n mkdir,\n open,\n realpath,\n rename,\n stat,\n writeFile,\n} from \"node:fs/promises\";\nimport { homedir, hostname } from \"node:os\";\nimport { basename, join, resolve } from \"node:path\";\n\nimport { fetch, type Response } from \"undici\";\n\nimport {\n createDaemonConfig,\n type DaemonConfig,\n loadLocalAgents,\n} from \"../config.ts\";\nimport { environmentProxyDispatcher } from \"../network/environment-proxy.ts\";\n\nconst PAIRING_TIMEOUT_MILLISECONDS = 20_000;\nconst PAIRING_CODE_PATTERN = /^[A-HJ-NP-Z2-9]{4}(?:-[A-HJ-NP-Z2-9]{4}){4}$/;\nconst IDENTIFIER_PATTERN = /^[a-zA-Z0-9][a-zA-Z0-9._:-]{0,127}$/;\nconst TOKEN_PATTERN = /^[a-zA-Z0-9_-]{32,256}$/;\nconst MAX_CONNECTION_FILE_LENGTH = 16 * 1024;\nconst CLAIM_RESPONSE_KEYS: readonly string[] = [\"channelId\", \"daemonToken\"];\nconst SAVED_CONNECTION_KEYS: readonly string[] = [\n \"approvedRoot\",\n \"channelId\",\n \"daemonToken\",\n \"relayOrigin\",\n];\n\ninterface PairCommandOptions {\n readonly code: string;\n readonly relayOrigin: URL;\n readonly root: string;\n}\n\ninterface ClaimPairingResponse {\n readonly channelId: string;\n readonly daemonToken: string;\n}\n\ninterface SavedConnection {\n readonly approvedRoot: string;\n readonly channelId: string;\n readonly daemonToken: string;\n readonly relayOrigin: URL;\n}\n\nexport interface PairedDaemon {\n readonly channelUrl: string;\n readonly config: DaemonConfig;\n readonly connectionPath: string;\n}\n\nexport class PairingClientError extends Error {\n readonly code: string;\n\n constructor(code: string, message: string, options: ErrorOptions = {}) {\n super(message, options);\n this.code = code;\n this.name = \"PairingClientError\";\n }\n}\n\nfunction isRecord(value: unknown): value is Readonly<Record<string, unknown>> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction hasExactKeys(\n value: Readonly<Record<string, unknown>>,\n expectedKeys: readonly string[],\n): boolean {\n const keys = Object.keys(value);\n return (\n keys.length === expectedKeys.length &&\n expectedKeys.every((key) => Object.hasOwn(value, key))\n );\n}\n\nfunction readSingleOption(\n arguments_: readonly string[],\n option: string,\n): string {\n const values: string[] = [];\n for (let index = 0; index < arguments_.length; index += 1) {\n if (arguments_[index] !== option) {\n continue;\n }\n const value = arguments_[index + 1];\n if (value === undefined || value.startsWith(\"--\")) {\n throw new PairingClientError(\n \"invalid_arguments\",\n `${option} requires a value`,\n );\n }\n values.push(value);\n index += 1;\n }\n if (values.length !== 1) {\n throw new PairingClientError(\n \"invalid_arguments\",\n `${option} must be provided exactly once`,\n );\n }\n return values[0] ?? \"\";\n}\n\nfunction assertKnownArguments(arguments_: readonly string[]): void {\n for (let index = 0; index < arguments_.length; index += 2) {\n const option = arguments_[index];\n if (option !== \"--url\" && option !== \"--code\" && option !== \"--root\") {\n throw new PairingClientError(\n \"invalid_arguments\",\n `Unknown pairing option: ${option ?? \"missing option\"}`,\n );\n }\n }\n}\n\nfunction parseRelayOrigin(value: string): URL {\n let url: URL;\n try {\n url = new URL(value);\n } catch (error) {\n throw new PairingClientError(\n \"invalid_relay_url\",\n \"The relay URL is invalid\",\n { cause: error },\n );\n }\n if (url.protocol !== \"https:\" && url.protocol !== \"http:\") {\n throw new PairingClientError(\n \"invalid_relay_url\",\n \"The relay URL must use http or https\",\n );\n }\n if (url.username.length > 0 || url.password.length > 0) {\n throw new PairingClientError(\n \"invalid_relay_url\",\n \"The relay URL cannot contain credentials\",\n );\n }\n if (\n url.protocol === \"http:\" &&\n url.hostname !== \"127.0.0.1\" &&\n url.hostname !== \"localhost\"\n ) {\n throw new PairingClientError(\n \"invalid_relay_url\",\n \"A remote relay must use https\",\n );\n }\n url.hash = \"\";\n url.pathname = \"/\";\n url.search = \"\";\n return url;\n}\n\nfunction parsePairingCode(value: string): string {\n const code = value.trim().toUpperCase();\n if (!PAIRING_CODE_PATTERN.test(code)) {\n throw new PairingClientError(\n \"invalid_pairing_code\",\n \"The pairing code must match the code shown in the browser\",\n );\n }\n return code;\n}\n\nfunction parsePairCommand(arguments_: readonly string[]): PairCommandOptions {\n assertKnownArguments(arguments_);\n return {\n code: parsePairingCode(readSingleOption(arguments_, \"--code\")),\n relayOrigin: parseRelayOrigin(readSingleOption(arguments_, \"--url\")),\n root: readSingleOption(arguments_, \"--root\"),\n };\n}\n\nfunction parseChannelArgument(arguments_: readonly string[]): string {\n if (arguments_.length !== 2 || arguments_[0] !== \"--channel\") {\n throw new PairingClientError(\n \"invalid_arguments\",\n \"Usage: mobius start --channel <channel-id>\",\n );\n }\n const channelId = arguments_[1] ?? \"\";\n if (!IDENTIFIER_PATTERN.test(channelId)) {\n throw new PairingClientError(\n \"invalid_channel_id\",\n \"The saved channel ID is invalid\",\n );\n }\n return channelId;\n}\n\nasync function resolveApprovedRoot(path: string): Promise<string> {\n const requestedRoot = resolve(path);\n try {\n const approvedRoot = await realpath(requestedRoot);\n const metadata = await stat(approvedRoot);\n if (!metadata.isDirectory()) {\n throw new PairingClientError(\n \"invalid_workspace\",\n \"The approved workspace root is not a directory\",\n );\n }\n return approvedRoot;\n } catch (error) {\n if (error instanceof PairingClientError) {\n throw error;\n }\n throw new PairingClientError(\n \"invalid_workspace\",\n \"The approved workspace root cannot be resolved\",\n { cause: error },\n );\n }\n}\n\nasync function readJsonResponse(response: Response): Promise<unknown> {\n if (response.headers.get(\"cf-mitigated\") === \"challenge\") {\n throw new PairingClientError(\n \"relay_challenge\",\n \"Cloudflare is protecting this temporary preview. Claim the deployment or use an authenticated deployment, then pair again\",\n );\n }\n const encoded = await response.text();\n try {\n return JSON.parse(encoded);\n } catch (error) {\n throw new PairingClientError(\n \"invalid_relay_response\",\n \"The relay returned an invalid response\",\n { cause: error },\n );\n }\n}\n\nfunction readRelayError(value: unknown): PairingClientError {\n if (isRecord(value)) {\n const error = value[\"error\"];\n if (isRecord(error)) {\n const code = error[\"code\"];\n const message = error[\"message\"];\n if (typeof code === \"string\" && typeof message === \"string\") {\n return new PairingClientError(code, message);\n }\n }\n }\n return new PairingClientError(\n \"pairing_failed\",\n \"The relay could not pair this machine\",\n );\n}\n\nfunction decodeClaimResponse(value: unknown): ClaimPairingResponse {\n if (!isRecord(value) || !hasExactKeys(value, CLAIM_RESPONSE_KEYS)) {\n throw new PairingClientError(\n \"invalid_relay_response\",\n \"The relay returned an invalid pairing response\",\n );\n }\n const channelId = value[\"channelId\"];\n const daemonToken = value[\"daemonToken\"];\n if (\n typeof channelId !== \"string\" ||\n !IDENTIFIER_PATTERN.test(channelId) ||\n typeof daemonToken !== \"string\" ||\n !TOKEN_PATTERN.test(daemonToken)\n ) {\n throw new PairingClientError(\n \"invalid_relay_response\",\n \"The relay returned an invalid pairing response\",\n );\n }\n return { channelId, daemonToken };\n}\n\nasync function claimPairing(\n options: PairCommandOptions,\n approvedRoot: string,\n): Promise<ClaimPairingResponse> {\n const agents = loadLocalAgents().map((agent) => ({\n id: agent.id,\n label: agent.label,\n }));\n const endpoint = new URL(\"/v1/pairings/claim\", options.relayOrigin);\n let response: Response;\n try {\n response = await fetch(endpoint, {\n body: JSON.stringify({\n agents,\n machineName: hostname(),\n pairingCode: options.code,\n workspaceName: basename(approvedRoot) || \"Local workspace\",\n }),\n dispatcher: environmentProxyDispatcher,\n headers: { \"content-type\": \"application/json\" },\n method: \"POST\",\n signal: AbortSignal.timeout(PAIRING_TIMEOUT_MILLISECONDS),\n });\n } catch (error) {\n throw new PairingClientError(\n \"relay_unavailable\",\n \"The pairing relay could not be reached\",\n { cause: error },\n );\n }\n\n const value = await readJsonResponse(response);\n if (!response.ok) {\n throw readRelayError(value);\n }\n return decodeClaimResponse(value);\n}\n\nfunction readStateDirectory(): string {\n // biome-ignore lint/complexity/useLiteralKeys: Environment variables use an index signature.\n const configured = process.env[\"MOBIUS_STATE_DIRECTORY\"]?.trim();\n if (configured !== undefined && configured.length > 0) {\n return resolve(configured);\n }\n return join(homedir(), \".mobius\");\n}\n\nasync function persistConnection(\n channelId: string,\n relayOrigin: URL,\n daemonToken: string,\n approvedRoot: string,\n): Promise<string> {\n const connectionsDirectory = join(readStateDirectory(), \"connections\");\n await mkdir(connectionsDirectory, { mode: 0o700, recursive: true });\n const connectionPath = join(connectionsDirectory, `${channelId}.json`);\n const temporaryPath = join(\n connectionsDirectory,\n `.${channelId}.${randomUUID()}.tmp`,\n );\n await writeFile(\n temporaryPath,\n `${JSON.stringify(\n {\n approvedRoot,\n channelId,\n daemonToken,\n relayOrigin: relayOrigin.toString(),\n },\n null,\n 2,\n )}\\n`,\n { flag: \"wx\", mode: 0o600 },\n );\n await rename(temporaryPath, connectionPath);\n return connectionPath;\n}\n\nfunction decodeSavedConnection(\n value: unknown,\n expectedChannelId: string,\n): SavedConnection {\n if (!isRecord(value) || !hasExactKeys(value, SAVED_CONNECTION_KEYS)) {\n throw new PairingClientError(\n \"invalid_connection\",\n \"The saved connection is invalid\",\n );\n }\n const approvedRoot = value[\"approvedRoot\"];\n const channelId = value[\"channelId\"];\n const daemonToken = value[\"daemonToken\"];\n const relayOrigin = value[\"relayOrigin\"];\n if (\n typeof approvedRoot !== \"string\" ||\n typeof channelId !== \"string\" ||\n channelId !== expectedChannelId ||\n !IDENTIFIER_PATTERN.test(channelId) ||\n typeof daemonToken !== \"string\" ||\n !TOKEN_PATTERN.test(daemonToken) ||\n typeof relayOrigin !== \"string\"\n ) {\n throw new PairingClientError(\n \"invalid_connection\",\n \"The saved connection is invalid\",\n );\n }\n return {\n approvedRoot,\n channelId,\n daemonToken,\n relayOrigin: parseRelayOrigin(relayOrigin),\n };\n}\n\nasync function readSavedConnection(\n channelId: string,\n): Promise<SavedConnection> {\n const connectionPath = join(\n readStateDirectory(),\n \"connections\",\n `${channelId}.json`,\n );\n let encoded = \"\";\n const handle = await open(connectionPath, \"r\");\n try {\n const metadata = await handle.stat();\n if (!metadata.isFile() || metadata.size > MAX_CONNECTION_FILE_LENGTH) {\n throw new PairingClientError(\n \"invalid_connection\",\n \"The saved connection is invalid\",\n );\n }\n encoded = await handle.readFile({ encoding: \"utf8\" });\n } finally {\n await handle.close();\n }\n\n let value: unknown;\n try {\n value = JSON.parse(encoded);\n } catch (error) {\n throw new PairingClientError(\n \"invalid_connection\",\n \"The saved connection is invalid\",\n { cause: error },\n );\n }\n const connection = decodeSavedConnection(value, channelId);\n return {\n approvedRoot: await resolveApprovedRoot(connection.approvedRoot),\n channelId: connection.channelId,\n daemonToken: connection.daemonToken,\n relayOrigin: connection.relayOrigin,\n };\n}\n\nfunction buildPairedDaemon(\n connection: SavedConnection,\n connectionPath: string,\n): PairedDaemon {\n const relayUrl = new URL(\n `/v1/channels/${encodeURIComponent(connection.channelId)}/daemon`,\n connection.relayOrigin,\n );\n relayUrl.protocol = relayUrl.protocol === \"https:\" ? \"wss:\" : \"ws:\";\n relayUrl.searchParams.set(\"token\", connection.daemonToken);\n const auditDatabasePath = join(\n readStateDirectory(),\n \"audit\",\n `${connection.channelId}.sqlite`,\n );\n\n return {\n channelUrl: new URL(\n `/channels/${encodeURIComponent(connection.channelId)}`,\n connection.relayOrigin,\n ).toString(),\n config: createDaemonConfig({\n approvedRoot: connection.approvedRoot,\n auditDatabasePath,\n channelId: connection.channelId,\n relayUrl,\n }),\n connectionPath,\n };\n}\n\nexport async function pairLocalMachine(\n arguments_: readonly string[],\n): Promise<PairedDaemon> {\n const options = parsePairCommand(arguments_);\n const approvedRoot = await resolveApprovedRoot(options.root);\n const claim = await claimPairing(options, approvedRoot);\n const connectionPath = await persistConnection(\n claim.channelId,\n options.relayOrigin,\n claim.daemonToken,\n approvedRoot,\n );\n return buildPairedDaemon(\n {\n approvedRoot,\n channelId: claim.channelId,\n daemonToken: claim.daemonToken,\n relayOrigin: options.relayOrigin,\n },\n connectionPath,\n );\n}\n\nexport async function resumeLocalMachine(\n arguments_: readonly string[],\n): Promise<PairedDaemon> {\n const channelId = parseChannelArgument(arguments_);\n const connectionPath = join(\n readStateDirectory(),\n \"connections\",\n `${channelId}.json`,\n );\n return buildPairedDaemon(\n await readSavedConnection(channelId),\n connectionPath,\n );\n}\n", "import { fileURLToPath } from \"node:url\";\n\nconst repositoryRoot = fileURLToPath(new URL(\"../../../\", import.meta.url));\n\nfunction adapterEntrypoint(packageName: string): string {\n return fileURLToPath(new URL(\"./index.js\", import.meta.resolve(packageName)));\n}\n\nexport class LocalAgentDefinition {\n readonly arguments: readonly string[];\n readonly command: string;\n readonly id: string;\n readonly label: string;\n\n constructor(\n id: string,\n label: string,\n command: string,\n arguments_: readonly string[],\n ) {\n this.id = id;\n this.label = label;\n this.command = command;\n this.arguments = arguments_;\n }\n}\n\nexport interface DaemonConfig {\n readonly agents: readonly LocalAgentDefinition[];\n readonly approvedRoot: string;\n readonly auditDatabasePath: string;\n readonly bindingId: string;\n readonly channelId: string;\n readonly relayUrl: URL;\n}\n\nexport interface DaemonConnectionConfig {\n readonly approvedRoot: string;\n readonly auditDatabasePath: string;\n readonly channelId: string;\n readonly relayUrl: URL;\n}\n\nexport function loadLocalAgents(): readonly LocalAgentDefinition[] {\n // biome-ignore lint/complexity/useLiteralKeys: Environment variables use an index signature.\n const overridePath = process.env[\"MOBIUS_ACP_AGENT_PATH\"]?.trim();\n if (overridePath !== undefined && overridePath.length > 0) {\n return [\n new LocalAgentDefinition(\"codex\", \"Codex\", process.execPath, [\n overridePath,\n \"--agent-name\",\n \"Codex\",\n ]),\n new LocalAgentDefinition(\"claude\", \"Claude Code\", process.execPath, [\n overridePath,\n \"--agent-name\",\n \"Claude Code\",\n ]),\n ];\n }\n\n return [\n new LocalAgentDefinition(\"codex\", \"Codex\", process.execPath, [\n adapterEntrypoint(\"@agentclientprotocol/codex-acp\"),\n ]),\n new LocalAgentDefinition(\"claude\", \"Claude Code\", process.execPath, [\n adapterEntrypoint(\"@agentclientprotocol/claude-agent-acp\"),\n ]),\n ];\n}\n\nexport function createDaemonConfig(\n connection: DaemonConnectionConfig,\n): DaemonConfig {\n return {\n agents: loadLocalAgents(),\n approvedRoot: connection.approvedRoot,\n auditDatabasePath: connection.auditDatabasePath,\n bindingId: \"workspace\",\n channelId: connection.channelId,\n relayUrl: connection.relayUrl,\n };\n}\n\nexport function findLocalAgent(\n agents: readonly LocalAgentDefinition[],\n agentId: string,\n): LocalAgentDefinition {\n for (const agent of agents) {\n if (agent.id === agentId) {\n return agent;\n }\n }\n throw new Error(\"The requested local agent is not approved\");\n}\n\nexport function loadDaemonConfig(): DaemonConfig {\n const relayUrl = new URL(\n // biome-ignore lint/complexity/useLiteralKeys: Environment variables use an index signature.\n process.env[\"MOBIUS_RELAY_URL\"] ??\n \"ws://127.0.0.1:8787/v1/channels/local/daemon\",\n );\n relayUrl.searchParams.set(\n \"token\",\n // biome-ignore lint/complexity/useLiteralKeys: Environment variables use an index signature.\n process.env[\"MOBIUS_RELAY_TOKEN\"] ?? \"local-development-token\",\n );\n\n if (relayUrl.protocol !== \"ws:\" && relayUrl.protocol !== \"wss:\") {\n throw new Error(\"MOBIUS_RELAY_URL must use ws or wss\");\n }\n\n return createDaemonConfig({\n // biome-ignore lint/complexity/useLiteralKeys: Environment variables use an index signature.\n approvedRoot: process.env[\"MOBIUS_APPROVED_ROOT\"] ?? repositoryRoot,\n auditDatabasePath:\n // biome-ignore lint/complexity/useLiteralKeys: Environment variables use an index signature.\n process.env[\"MOBIUS_AUDIT_DATABASE\"] ??\n fileURLToPath(new URL(\"../../../.mobius/daemon.sqlite\", import.meta.url)),\n // biome-ignore lint/complexity/useLiteralKeys: Environment variables use an index signature.\n channelId: process.env[\"MOBIUS_CHANNEL_ID\"] ?? \"local\",\n relayUrl,\n });\n}\n", "import { EnvHttpProxyAgent } from \"undici\";\n\nexport const environmentProxyDispatcher = new EnvHttpProxyAgent();\n", "import { randomUUID } from \"node:crypto\";\nimport { basename } from \"node:path\";\n\nimport {\n AGENT_ACTIVITY_KIND,\n AGENT_MESSAGE_DELTA_KIND,\n type AgentContentEvent,\n decodeMessageKind,\n decodeRuntimeHeartbeatAckEvent,\n decodeRuntimeLivenessReadyEvent,\n decodeSessionCancelCommand,\n decodeSessionConfigureCommand,\n decodeSessionElicitationRespondCommand,\n decodeSessionPermissionRespondCommand,\n decodeSessionPrepareCommand,\n decodeSessionPromptCommand,\n decodeWorkspaceListCommand,\n encodeAgentActivityEvent,\n encodeAgentContentEvent,\n encodeAgentMessageDeltaEvent,\n encodeSessionCommandsUpdatedEvent,\n encodeSessionCompletedEvent,\n encodeSessionConfigUpdatedEvent,\n encodeSessionElicitationRequestedEvent,\n encodeSessionElicitationResolvedEvent,\n encodeSessionFailedEvent,\n encodeSessionInfoUpdatedEvent,\n encodeSessionOperationFailedEvent,\n encodeSessionPermissionRequestedEvent,\n encodeSessionPermissionResolvedEvent,\n encodeSessionReadyEvent,\n encodeSessionStartedEvent,\n encodeSessionUsageUpdatedEvent,\n encodeWorkspaceEntriesEvent,\n MOBIUS_PROTOCOL_VERSION,\n RUNTIME_HEARTBEAT_ACK_KIND,\n RUNTIME_LIVENESS_READY_KIND,\n SESSION_CANCEL_KIND,\n SESSION_COMPLETED_KIND,\n SESSION_CONFIGURE_KIND,\n SESSION_ELICITATION_RESPOND_KIND,\n SESSION_FAILED_KIND,\n SESSION_PERMISSION_RESPOND_KIND,\n SESSION_PREPARE_KIND,\n SESSION_PROMPT_KIND,\n SESSION_STARTED_KIND,\n type SessionCancelCommand,\n type SessionCommandsUpdatedEvent,\n type SessionConfigUpdatedEvent,\n type SessionConfigureCommand,\n type SessionElicitationRequestedEvent,\n type SessionElicitationResolvedEvent,\n type SessionInfoUpdatedEvent,\n type SessionPermissionRequestedEvent,\n type SessionPermissionResolvedEvent,\n type SessionPrepareCommand,\n type SessionPromptCommand,\n type SessionUsageUpdatedEvent,\n WORKSPACE_LIST_KIND,\n type WorkspaceListCommand,\n} from \"@moxt-ai/mobius-protocol\";\nimport { type MessageEvent, WebSocket } from \"undici\";\n\nimport {\n AcpExecutionError,\n AcpSessionManager,\n type AcpSessionObserver,\n NullAcpSessionObserver,\n} from \"./acp/session-manager.ts\";\nimport { SqliteAcpSessionStore } from \"./acp/session-store.ts\";\nimport type { AuditStore } from \"./audit/audit-store.ts\";\nimport { LocalAuthorizationError } from \"./authorization/authorize-binding.ts\";\nimport { WorkspaceDirectoryService } from \"./authorization/workspace-directory.ts\";\nimport { type DaemonConfig, findLocalAgent } from \"./config.ts\";\nimport { connectRelay } from \"./relay-connection/connect.ts\";\nimport { RelayConnectionLiveness } from \"./relay-connection/liveness.ts\";\nimport {\n type DaemonScheduledTask,\n type DaemonTimer,\n systemDaemonTimer,\n} from \"./relay-connection/timer.ts\";\n\nconst RELAY_RECONNECT_DELAY_MILLISECONDS = 500;\nconst RELAY_CONNECTION_REFRESH_MILLISECONDS = 20 * 60 * 1_000;\n\nabstract class RelayConnectionRefreshState {}\n\nclass ScheduledRelayConnectionRefreshState extends RelayConnectionRefreshState {}\n\nclass DueRelayConnectionRefreshState extends RelayConnectionRefreshState {}\n\nclass FinishedRelayConnectionRefreshState extends RelayConnectionRefreshState {}\n\nclass RelayConnectionRefresh {\n readonly #isSafe: () => boolean;\n readonly #refresh: () => void;\n readonly #scheduledTask: DaemonScheduledTask;\n #state: RelayConnectionRefreshState =\n new ScheduledRelayConnectionRefreshState();\n\n constructor(timer: DaemonTimer, isSafe: () => boolean, refresh: () => void) {\n this.#isSafe = isSafe;\n this.#refresh = refresh;\n this.#scheduledTask = timer.schedule(\n this.#request,\n RELAY_CONNECTION_REFRESH_MILLISECONDS,\n );\n }\n\n readonly afterTurnFinished = (): void => {\n if (this.#state instanceof DueRelayConnectionRefreshState) {\n this.#request();\n return;\n }\n if (\n this.#state instanceof ScheduledRelayConnectionRefreshState ||\n this.#state instanceof FinishedRelayConnectionRefreshState\n ) {\n return;\n }\n throw new Error(\"Unknown relay connection refresh state\");\n };\n\n readonly close = (): void => {\n this.#scheduledTask.cancel();\n this.#state = new FinishedRelayConnectionRefreshState();\n };\n\n readonly #request = (): void => {\n if (this.#state instanceof FinishedRelayConnectionRefreshState) {\n return;\n }\n if (\n !(this.#state instanceof ScheduledRelayConnectionRefreshState) &&\n !(this.#state instanceof DueRelayConnectionRefreshState)\n ) {\n throw new Error(\"Unknown relay connection refresh state\");\n }\n if (!this.#isSafe()) {\n this.#state = new DueRelayConnectionRefreshState();\n return;\n }\n this.#state = new FinishedRelayConnectionRefreshState();\n this.#scheduledTask.cancel();\n this.#refresh();\n };\n}\n\nclass DaemonAcpObserver implements AcpSessionObserver {\n readonly #socket: WebSocket;\n\n constructor(socket: WebSocket) {\n this.#socket = socket;\n }\n\n readonly onCommands = (event: SessionCommandsUpdatedEvent): Promise<void> => {\n send(this.#socket, encodeSessionCommandsUpdatedEvent(event));\n return Promise.resolve();\n };\n\n readonly onConfig = (event: SessionConfigUpdatedEvent): Promise<void> => {\n send(this.#socket, encodeSessionConfigUpdatedEvent(event));\n return Promise.resolve();\n };\n\n readonly onContent = (event: AgentContentEvent): Promise<void> => {\n send(this.#socket, encodeAgentContentEvent(event));\n return Promise.resolve();\n };\n\n readonly onElicitation = (\n event: SessionElicitationRequestedEvent,\n ): Promise<void> => {\n send(this.#socket, encodeSessionElicitationRequestedEvent(event));\n return Promise.resolve();\n };\n\n readonly onElicitationResolved = (\n event: SessionElicitationResolvedEvent,\n ): Promise<void> => {\n send(this.#socket, encodeSessionElicitationResolvedEvent(event));\n return Promise.resolve();\n };\n\n readonly onInfo = (event: SessionInfoUpdatedEvent): Promise<void> => {\n send(this.#socket, encodeSessionInfoUpdatedEvent(event));\n return Promise.resolve();\n };\n\n readonly onPermission = (\n event: SessionPermissionRequestedEvent,\n ): Promise<void> => {\n send(this.#socket, encodeSessionPermissionRequestedEvent(event));\n return Promise.resolve();\n };\n\n readonly onPermissionResolved = (\n event: SessionPermissionResolvedEvent,\n ): Promise<void> => {\n send(this.#socket, encodeSessionPermissionResolvedEvent(event));\n return Promise.resolve();\n };\n\n readonly onUsage = (event: SessionUsageUpdatedEvent): Promise<void> => {\n send(this.#socket, encodeSessionUsageUpdatedEvent(event));\n return Promise.resolve();\n };\n}\n\nclass ResolvedSessionDirectories {\n readonly additionalDirectories: readonly string[];\n readonly additionalDirectoryEntries: readonly {\n readonly directoryId: string;\n readonly name: string;\n }[];\n readonly cwd: string;\n\n constructor(\n cwd: string,\n additionalDirectories: readonly string[],\n additionalDirectoryEntries: readonly {\n readonly directoryId: string;\n readonly name: string;\n }[],\n ) {\n this.additionalDirectories = additionalDirectories;\n this.additionalDirectoryEntries = additionalDirectoryEntries;\n this.cwd = cwd;\n }\n}\n\nclass ActiveDaemonTurn {\n readonly command: SessionPromptCommand;\n readonly #connectionController: AbortController;\n #cancellationRequested = false;\n\n constructor(\n command: SessionPromptCommand,\n connectionController: AbortController,\n ) {\n this.command = command;\n this.#connectionController = connectionController;\n }\n\n readonly abortConnection = (): void => {\n this.#connectionController.abort();\n };\n\n readonly matches = (cancellation: SessionCancelCommand): boolean =>\n cancellation.commandId === this.command.commandId &&\n cancellation.sessionId === this.command.sessionId;\n\n readonly requestCancellation = (): boolean => {\n if (this.#cancellationRequested) {\n return false;\n }\n this.#cancellationRequested = true;\n return true;\n };\n\n get signal(): AbortSignal {\n return this.#connectionController.signal;\n }\n}\n\nfunction send(socket: WebSocket, message: string): void {\n if (socket.readyState !== WebSocket.OPEN) {\n throw new Error(\"Relay connection is not open\");\n }\n socket.send(message);\n}\n\nfunction reportFailure(\n socket: WebSocket,\n command: SessionPromptCommand,\n code: string,\n message: string,\n): void {\n if (socket.readyState !== WebSocket.OPEN) {\n return;\n }\n send(\n socket,\n encodeSessionFailedEvent({\n code,\n commandId: command.commandId,\n kind: SESSION_FAILED_KIND,\n message,\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n sessionId: command.sessionId,\n }),\n );\n}\n\nfunction operationErrorCode(error: unknown): string {\n if (\n error instanceof AcpExecutionError ||\n error instanceof LocalAuthorizationError\n ) {\n return error.code;\n }\n return \"session_operation_failed\";\n}\n\nfunction operationErrorMessage(error: unknown): string {\n if (\n error instanceof AcpExecutionError ||\n error instanceof LocalAuthorizationError\n ) {\n return error.message;\n }\n return \"The local agent operation could not be completed\";\n}\n\nfunction reportOperationFailure(\n socket: WebSocket,\n requestId: string,\n sessionId: string,\n error: unknown,\n): void {\n if (socket.readyState !== WebSocket.OPEN) {\n return;\n }\n send(\n socket,\n encodeSessionOperationFailedEvent({\n code: operationErrorCode(error),\n kind: \"session.operation.failed\",\n message: operationErrorMessage(error),\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n requestId,\n sessionId,\n }),\n );\n}\n\nasync function resolveSessionDirectories(\n directories: WorkspaceDirectoryService,\n bindingId: string,\n directoryId: string,\n additionalDirectoryIds: readonly string[],\n): Promise<ResolvedSessionDirectories> {\n const cwd = await directories.resolve(bindingId, directoryId);\n const additionalDirectories: string[] = [];\n const additionalDirectoryEntries: {\n readonly directoryId: string;\n readonly name: string;\n }[] = [];\n const unique = new Set<string>([cwd]);\n for (const additionalDirectoryId of additionalDirectoryIds) {\n const directory = await directories.resolve(\n bindingId,\n additionalDirectoryId,\n );\n if (unique.has(directory)) {\n throw new LocalAuthorizationError(\n \"Workspace directories must resolve to distinct locations\",\n );\n }\n unique.add(directory);\n additionalDirectories.push(directory);\n additionalDirectoryEntries.push({\n directoryId: additionalDirectoryId,\n name: basename(directory),\n });\n }\n return new ResolvedSessionDirectories(\n cwd,\n additionalDirectories,\n additionalDirectoryEntries,\n );\n}\n\nasync function executeWorkspaceList(\n socket: WebSocket,\n command: WorkspaceListCommand,\n directories: WorkspaceDirectoryService,\n audit: AuditStore,\n): Promise<void> {\n try {\n const listing = await directories.list(\n command.bindingId,\n command.directoryId,\n );\n audit.record({\n commandId: command.requestId,\n event: \"workspace_list_authorized\",\n sessionId: \"workspace-browser\",\n });\n send(\n socket,\n encodeWorkspaceEntriesEvent({\n bindingId: command.bindingId,\n directoryId: listing.directoryId,\n directoryLabel: listing.directoryLabel,\n entries: listing.entries,\n kind: \"workspace.entries\",\n parentDirectoryId: listing.parentDirectoryId,\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n requestId: command.requestId,\n }),\n );\n } catch (error) {\n reportOperationFailure(socket, command.requestId, \"\", error);\n }\n}\n\nasync function executeSessionPrepare(\n socket: WebSocket,\n command: SessionPrepareCommand,\n config: DaemonConfig,\n directories: WorkspaceDirectoryService,\n audit: AuditStore,\n sessions: AcpSessionManager,\n signal: AbortSignal,\n): Promise<void> {\n try {\n const resolved = await resolveSessionDirectories(\n directories,\n command.bindingId,\n command.directoryId,\n command.additionalDirectoryIds,\n );\n const agent = findLocalAgent(config.agents, command.agentId);\n const prepared = await sessions.prepareSession({\n additionalDirectories: resolved.additionalDirectories,\n agent,\n cwd: resolved.cwd,\n sessionId: command.sessionId,\n signal,\n });\n const listing = await directories.list(\n command.bindingId,\n command.directoryId,\n );\n audit.record({\n commandId: command.requestId,\n event: \"session_prepared\",\n sessionId: command.sessionId,\n });\n send(\n socket,\n encodeSessionReadyEvent({\n additionalDirectories: resolved.additionalDirectoryEntries,\n agentId: command.agentId,\n agentName: prepared.agentName,\n agentVersion: prepared.agentVersion,\n capabilities: prepared.capabilities,\n commands: prepared.commands,\n configOptions: prepared.configOptions,\n directoryId: command.directoryId,\n directoryLabel: listing.directoryLabel,\n kind: \"session.ready\",\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n requestId: command.requestId,\n restored: prepared.restored,\n sessionId: command.sessionId,\n }),\n );\n } catch (error) {\n reportOperationFailure(socket, command.requestId, command.sessionId, error);\n }\n}\n\nasync function executeSessionConfigure(\n socket: WebSocket,\n command: SessionConfigureCommand,\n config: DaemonConfig,\n directories: WorkspaceDirectoryService,\n audit: AuditStore,\n sessions: AcpSessionManager,\n signal: AbortSignal,\n): Promise<void> {\n try {\n const resolved = await resolveSessionDirectories(\n directories,\n command.bindingId,\n command.directoryId,\n command.additionalDirectoryIds,\n );\n const configOptions = await sessions.configureSession({\n additionalDirectories: resolved.additionalDirectories,\n agent: findLocalAgent(config.agents, command.agentId),\n booleanValue: command.booleanValue,\n configId: command.configId,\n cwd: resolved.cwd,\n requestId: command.requestId,\n sessionId: command.sessionId,\n signal,\n value: command.value,\n valueType: command.valueType,\n });\n audit.record({\n commandId: command.requestId,\n event: \"session_configured\",\n sessionId: command.sessionId,\n });\n send(\n socket,\n encodeSessionConfigUpdatedEvent({\n configOptions,\n kind: \"session.config.updated\",\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n requestId: command.requestId,\n sessionId: command.sessionId,\n }),\n );\n } catch (error) {\n reportOperationFailure(socket, command.requestId, command.sessionId, error);\n }\n}\n\nasync function executePrompt(\n socket: WebSocket,\n command: SessionPromptCommand,\n config: DaemonConfig,\n directories: WorkspaceDirectoryService,\n audit: AuditStore,\n sessions: AcpSessionManager,\n signal: AbortSignal,\n): Promise<void> {\n try {\n const resolved = await resolveSessionDirectories(\n directories,\n command.bindingId,\n command.directoryId,\n command.additionalDirectoryIds,\n );\n const agent = findLocalAgent(config.agents, command.agentId);\n const processAttemptId = randomUUID();\n audit.record({\n commandId: command.commandId,\n event: \"session_authorized\",\n sessionId: command.sessionId,\n });\n send(\n socket,\n encodeSessionStartedEvent({\n commandId: command.commandId,\n kind: SESSION_STARTED_KIND,\n processAttemptId,\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n sessionId: command.sessionId,\n }),\n );\n\n const result = await sessions.runPrompt({\n additionalDirectories: resolved.additionalDirectories,\n agent,\n commandId: command.commandId,\n cwd: resolved.cwd,\n images: command.images,\n onActivity: (activity) => {\n send(\n socket,\n encodeAgentActivityEvent({\n activityId: activity.activityId,\n activityType: activity.activityType,\n commandId: command.commandId,\n content: activity.content,\n input: activity.input,\n kind: AGENT_ACTIVITY_KIND,\n locations: activity.locations,\n name: activity.name,\n output: activity.output,\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n sequence: activity.sequence,\n sessionId: command.sessionId,\n status: activity.status,\n title: activity.title,\n toolKind: activity.toolKind,\n }),\n );\n return Promise.resolve();\n },\n onText: (text) => {\n send(\n socket,\n encodeAgentMessageDeltaEvent({\n commandId: command.commandId,\n kind: AGENT_MESSAGE_DELTA_KIND,\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n sessionId: command.sessionId,\n text,\n }),\n );\n return Promise.resolve();\n },\n prompt: command.prompt,\n resources: command.resources,\n sessionId: command.sessionId,\n signal,\n });\n\n send(\n socket,\n encodeSessionCompletedEvent({\n commandId: command.commandId,\n kind: SESSION_COMPLETED_KIND,\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n sessionId: command.sessionId,\n stopReason: result.stopReason,\n }),\n );\n audit.record({\n commandId: command.commandId,\n event:\n result.stopReason === \"cancelled\"\n ? \"session_cancelled\"\n : \"session_completed\",\n sessionId: command.sessionId,\n });\n } catch (error) {\n audit.record({\n commandId: command.commandId,\n event: \"session_failed\",\n sessionId: command.sessionId,\n });\n reportFailure(\n socket,\n command,\n \"agent_execution_failed\",\n \"The local agent could not complete the request\",\n );\n console.error(\"Mobius daemon command failed\", error);\n }\n}\n\nfunction waitForRelayRetry(\n signal: AbortSignal,\n timer: DaemonTimer,\n): Promise<void> {\n if (signal.aborted) {\n return Promise.resolve();\n }\n\n return new Promise((resolve) => {\n const retry = timer.schedule(finish, RELAY_RECONNECT_DELAY_MILLISECONDS);\n\n function finish(): void {\n retry.cancel();\n signal.removeEventListener(\"abort\", finish);\n resolve();\n }\n\n signal.addEventListener(\"abort\", finish, { once: true });\n });\n}\n\nasync function runRelayConnection(\n config: DaemonConfig,\n directories: WorkspaceDirectoryService,\n audit: AuditStore,\n sessions: AcpSessionManager,\n signal: AbortSignal,\n timer: DaemonTimer,\n): Promise<void> {\n const relayUrl = new URL(config.relayUrl);\n relayUrl.searchParams.set(\"liveness\", \"1\");\n const socket = await connectRelay(relayUrl, signal);\n const activeTurns = new Map<string, ActiveDaemonTurn>();\n const connectionController = new AbortController();\n sessions.setObserver(new DaemonAcpObserver(socket));\n\n await new Promise<void>((resolve, reject) => {\n let finished = false;\n\n const cleanup = (): void => {\n connectionRefresh.close();\n connectionLiveness.close();\n signal.removeEventListener(\"abort\", stop);\n socket.removeEventListener(\"close\", handleClose);\n socket.removeEventListener(\"error\", handleError);\n socket.removeEventListener(\"message\", handleMessage);\n connectionController.abort();\n for (const turn of activeTurns.values()) {\n turn.abortConnection();\n }\n activeTurns.clear();\n };\n\n const resolveConnection = (): void => {\n if (finished) {\n return;\n }\n finished = true;\n cleanup();\n resolve();\n };\n\n const rejectConnection = (): void => {\n if (finished) {\n return;\n }\n finished = true;\n cleanup();\n reject(new Error(\"Relay WebSocket failed\"));\n };\n\n const stop = (): void => {\n socket.close(1000, \"Daemon stopped\");\n resolveConnection();\n };\n\n const refreshConnection = (): void => {\n socket.close(1000, \"Refreshing idle relay connection\");\n resolveConnection();\n };\n\n const connectionLiveness = new RelayConnectionLiveness(timer, {\n send: (message) => send(socket, message),\n unresponsive: () => {\n socket.close(4001, \"Relay liveness check timed out\");\n resolveConnection();\n },\n });\n\n const connectionRefresh = new RelayConnectionRefresh(\n timer,\n () => activeTurns.size === 0,\n refreshConnection,\n );\n\n signal.addEventListener(\"abort\", stop, { once: true });\n const handleClose = (): void => {\n resolveConnection();\n };\n const handleError = (): void => {\n if (signal.aborted) {\n resolveConnection();\n return;\n }\n rejectConnection();\n };\n const handleMessage = (event: MessageEvent<unknown>): void => {\n const encoded: unknown = event.data;\n if (typeof encoded !== \"string\") {\n socket.close(4003, \"Text message required\");\n rejectConnection();\n return;\n }\n\n try {\n const kind = decodeMessageKind(encoded);\n if (kind === RUNTIME_LIVENESS_READY_KIND) {\n decodeRuntimeLivenessReadyEvent(encoded);\n connectionLiveness.start();\n return;\n }\n if (kind === RUNTIME_HEARTBEAT_ACK_KIND) {\n connectionLiveness.acknowledge(\n decodeRuntimeHeartbeatAckEvent(encoded),\n );\n return;\n }\n if (kind === SESSION_CANCEL_KIND) {\n const cancellation = decodeSessionCancelCommand(encoded);\n const turn = activeTurns.get(cancellation.commandId);\n if (turn === undefined || !turn.matches(cancellation)) {\n console.warn(\n \"Mobius daemon ignored cancellation for an inactive turn\",\n );\n return;\n }\n if (!turn.requestCancellation()) {\n return;\n }\n audit.record({\n commandId: cancellation.commandId,\n event: \"session_cancellation_requested\",\n sessionId: cancellation.sessionId,\n });\n void sessions.cancelPrompt(cancellation.sessionId).catch((error) => {\n console.error(\n \"Mobius daemon could not cancel the agent turn\",\n error,\n );\n });\n return;\n }\n if (kind === WORKSPACE_LIST_KIND) {\n const command = decodeWorkspaceListCommand(encoded);\n void executeWorkspaceList(socket, command, directories, audit);\n return;\n }\n if (kind === SESSION_PREPARE_KIND) {\n const command = decodeSessionPrepareCommand(encoded);\n void executeSessionPrepare(\n socket,\n command,\n config,\n directories,\n audit,\n sessions,\n connectionController.signal,\n );\n return;\n }\n if (kind === SESSION_CONFIGURE_KIND) {\n const command = decodeSessionConfigureCommand(encoded);\n void executeSessionConfigure(\n socket,\n command,\n config,\n directories,\n audit,\n sessions,\n connectionController.signal,\n );\n return;\n }\n if (kind === SESSION_PERMISSION_RESPOND_KIND) {\n const command = decodeSessionPermissionRespondCommand(encoded);\n void sessions\n .respondPermission(command)\n .then(() => {\n audit.record({\n commandId: command.interactionId,\n event: \"session_permission_resolved\",\n sessionId: command.sessionId,\n });\n })\n .catch((error: unknown) => {\n reportOperationFailure(\n socket,\n command.interactionId,\n command.sessionId,\n error,\n );\n });\n return;\n }\n if (kind === SESSION_ELICITATION_RESPOND_KIND) {\n const command = decodeSessionElicitationRespondCommand(encoded);\n void sessions\n .respondElicitation(command)\n .then(() => {\n audit.record({\n commandId: command.interactionId,\n event: \"session_elicitation_resolved\",\n sessionId: command.sessionId,\n });\n })\n .catch((error: unknown) => {\n reportOperationFailure(\n socket,\n command.interactionId,\n command.sessionId,\n error,\n );\n });\n return;\n }\n if (kind !== SESSION_PROMPT_KIND) {\n throw new Error(\"Unsupported protocol message\");\n }\n const command = decodeSessionPromptCommand(encoded);\n if (activeTurns.has(command.commandId)) {\n reportFailure(\n socket,\n command,\n \"duplicate_command\",\n \"The command is already running\",\n );\n return;\n }\n\n const turn = new ActiveDaemonTurn(command, new AbortController());\n activeTurns.set(command.commandId, turn);\n void executePrompt(\n socket,\n command,\n config,\n directories,\n audit,\n sessions,\n turn.signal,\n )\n .catch((error: unknown) => {\n console.error(\"Mobius daemon turn failed\", error);\n })\n .finally(() => {\n activeTurns.delete(command.commandId);\n connectionRefresh.afterTurnFinished();\n });\n } catch (error) {\n console.error(\"Mobius daemon rejected a message\", error);\n socket.close(4008, \"Invalid protocol message\");\n rejectConnection();\n }\n };\n socket.addEventListener(\"close\", handleClose);\n socket.addEventListener(\"error\", handleError);\n socket.addEventListener(\"message\", handleMessage);\n\n if (signal.aborted) {\n stop();\n }\n });\n}\n\nexport async function runDaemon(\n config: DaemonConfig,\n audit: AuditStore,\n signal: AbortSignal,\n timer: DaemonTimer = systemDaemonTimer,\n): Promise<void> {\n const sessionStore = new SqliteAcpSessionStore(config.auditDatabasePath);\n const sessions = new AcpSessionManager(\n new NullAcpSessionObserver(),\n sessionStore,\n );\n const directories = new WorkspaceDirectoryService(\n config.bindingId,\n config.approvedRoot,\n );\n let retryAnnounced = false;\n\n try {\n while (!signal.aborted) {\n try {\n await runRelayConnection(\n config,\n directories,\n audit,\n sessions,\n signal,\n timer,\n );\n retryAnnounced = false;\n } catch {\n if (signal.aborted) {\n return;\n }\n if (!retryAnnounced) {\n console.warn(\"Mobius daemon is waiting for the relay\");\n retryAnnounced = true;\n }\n }\n\n await waitForRelayRetry(signal, timer);\n }\n } finally {\n await sessions.close();\n sessionStore.close();\n }\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, toZod, compile, 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}\nexport function cached(getter) {\n const set = false;\n return {\n get value() {\n if (!set) {\n const value = getter();\n Object.defineProperty(this, \"value\", { value });\n return value;\n }\n throw new Error(\"cached value already set\");\n },\n };\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}\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 def = mergeDefs(schema._zod.def, {\n get shape() {\n const newShape = {};\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.prototype.hasOwnProperty.call(currDef.shape, key)) {\n throw new Error(`Unrecognized key: \"${String(key)}\"`);\n }\n if (!mask[key])\n continue;\n assignProp(newShape, key, currDef.shape[key]);\n }\n assignProp(this, \"shape\", newShape); // self-caching\n return newShape;\n },\n checks: [],\n });\n return clone(schema, def);\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 def = mergeDefs(schema._zod.def, {\n get shape() {\n const newShape = { ...schema._zod.def.shape };\n for (const key of Reflect.ownKeys(mask)) {\n if (!Object.prototype.hasOwnProperty.call(currDef.shape, key)) {\n throw new Error(`Unrecognized key: \"${String(key)}\"`);\n }\n if (!mask[key])\n continue;\n delete newShape[key];\n }\n assignProp(this, \"shape\", newShape); // self-caching\n return newShape;\n },\n checks: [],\n });\n return clone(schema, def);\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 = schema._zod.def.shape;\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 const def = mergeDefs(schema._zod.def, {\n get shape() {\n const _shape = { ...schema._zod.def.shape, ...shape };\n assignProp(this, \"shape\", _shape); // self-caching\n return _shape;\n },\n });\n return clone(schema, def);\n}\nexport function safeExtend(schema, shape) {\n if (!isPlainObject(shape)) {\n throw new Error(\"Invalid input to safeExtend: expected a plain object\");\n }\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const _shape = { ...schema._zod.def.shape, ...shape };\n assignProp(this, \"shape\", _shape); // self-caching\n return _shape;\n },\n });\n return clone(schema, def);\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 def = mergeDefs(a._zod.def, {\n get shape() {\n const _shape = { ...a._zod.def.shape, ...b._zod.def.shape };\n assignProp(this, \"shape\", _shape); // self-caching\n return _shape;\n },\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 def = mergeDefs(schema._zod.def, {\n get shape() {\n const oldShape = schema._zod.def.shape;\n const shape = { ...oldShape };\n if (mask) {\n for (const key of Reflect.ownKeys(mask)) {\n if (!Object.prototype.hasOwnProperty.call(oldShape, key)) {\n throw new Error(`Unrecognized key: \"${String(key)}\"`);\n }\n if (!mask[key])\n continue;\n // if (oldShape[key]!._zod.optin === \"optional\") continue;\n shape[key] = Class\n ? new Class({\n type: \"optional\",\n innerType: oldShape[key],\n })\n : oldShape[key];\n }\n }\n else {\n // the spread copies symbol keys; `for...in` would not reach them\n for (const key of Reflect.ownKeys(oldShape)) {\n // if (oldShape[key]!._zod.optin === \"optional\") continue;\n shape[key] = Class\n ? new Class({\n type: \"optional\",\n innerType: oldShape[key],\n })\n : oldShape[key];\n }\n }\n assignProp(this, \"shape\", shape); // self-caching\n return shape;\n },\n checks: [],\n });\n return clone(schema, def);\n}\nexport function required(Class, schema, mask) {\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const oldShape = schema._zod.def.shape;\n const shape = { ...oldShape };\n if (mask) {\n for (const key of Reflect.ownKeys(mask)) {\n if (!Object.prototype.hasOwnProperty.call(shape, key)) {\n throw new Error(`Unrecognized key: \"${String(key)}\"`);\n }\n if (!mask[key])\n continue;\n // overwrite with non-optional\n shape[key] = new Class({\n type: \"nonoptional\",\n innerType: oldShape[key],\n });\n }\n }\n else {\n for (const key of Reflect.ownKeys(oldShape)) {\n // overwrite with non-optional\n shape[key] = new Class({\n type: \"nonoptional\",\n innerType: oldShape[key],\n });\n }\n }\n assignProp(this, \"shape\", shape); // self-caching\n return shape;\n },\n });\n return clone(schema, def);\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 const { inst: _inst, schema: _schema, continue: _continue, input: _input, ...rest } = iss;\n rest.path ?? (rest.path = []);\n rest.message = message;\n if (ctx?.reportInput) {\n rest.input = _input;\n }\n return rest;\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}\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 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 _zodDesc = { value: undefined, enumerable: false };\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 _zodDesc.value = inst._zod;\n Object.defineProperty(inst, \"_zod\", _zodDesc);\n _issuesDesc.value = def;\n Object.defineProperty(inst, \"issues\", _issuesDesc);\n // Clear the shared slots; a retained `value` pins the last error's issues.\n _zodDesc.value = undefined;\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\n ? {\n success: false,\n error: new (_Err ?? errors.$ZodError)(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config()))),\n }\n : { success: true, data: result.value };\n};\nexport const safeParse = /* @__PURE__*/ _safeParse(errors.$ZodRealError);\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\n ? {\n success: false,\n error: new _Err(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config()))),\n }\n : { 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 && validator(value) !== COMPILE_INVALID)\n return true;\n return validateFallback(schema, value, _ctx);\n});\nfunction validateFallback(schema, value, _ctx) {\n const ctx = _ctx ? { ..._ctx, async: false } : { async: false };\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 ? { ..._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 === 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-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.\nconst _emoji = `^[\\\\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_-]*$/;\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}$/;\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}\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.onattach.push((inst) => {\n const bag = inst._zod.bag;\n const curr = (def.inclusive ? bag.maximum : bag.exclusiveMaximum) ?? Number.POSITIVE_INFINITY;\n if (def.value < curr) {\n if (def.inclusive)\n bag.maximum = def.value;\n else\n bag.exclusiveMaximum = def.value;\n }\n });\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.onattach.push((inst) => {\n const bag = inst._zod.bag;\n const curr = (def.inclusive ? bag.minimum : bag.exclusiveMinimum) ?? Number.NEGATIVE_INFINITY;\n if (def.value > curr) {\n if (def.inclusive)\n bag.minimum = def.value;\n else\n bag.exclusiveMinimum = def.value;\n }\n });\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.onattach.push((inst) => {\n var _a;\n (_a = inst._zod.bag).multipleOf ?? (_a.multipleOf = def.value);\n });\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.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.format = def.format;\n bag.minimum = minimum;\n bag.maximum = maximum;\n if (isInt)\n bag.pattern = regexes.integer;\n });\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.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.format = def.format;\n bag.minimum = minimum;\n bag.maximum = maximum;\n });\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.onattach.push((inst) => {\n const curr = (inst._zod.bag.maximum ?? Number.POSITIVE_INFINITY);\n if (def.maximum < curr)\n inst._zod.bag.maximum = def.maximum;\n });\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.onattach.push((inst) => {\n const curr = (inst._zod.bag.minimum ?? Number.NEGATIVE_INFINITY);\n if (def.minimum > curr)\n inst._zod.bag.minimum = def.minimum;\n });\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.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.minimum = def.size;\n bag.maximum = def.size;\n bag.size = def.size;\n });\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.onattach.push((inst) => {\n const curr = (inst._zod.bag.maximum ?? Number.POSITIVE_INFINITY);\n if (def.maximum < curr)\n inst._zod.bag.maximum = def.maximum;\n });\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.onattach.push((inst) => {\n const curr = (inst._zod.bag.minimum ?? Number.NEGATIVE_INFINITY);\n if (def.minimum > curr)\n inst._zod.bag.minimum = def.minimum;\n });\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.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.minimum = def.length;\n bag.maximum = def.length;\n bag.length = def.length;\n });\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 inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.format = def.format;\n if (def.pattern) {\n bag.patterns ?? (bag.patterns = new Set());\n bag.patterns.add(def.pattern);\n }\n });\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.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.patterns ?? (bag.patterns = new Set());\n bag.patterns.add(pattern);\n });\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.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.patterns ?? (bag.patterns = new Set());\n bag.patterns.add(pattern);\n });\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.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.patterns ?? (bag.patterns = new Set());\n bag.patterns.add(pattern);\n });\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 $ZodCheckMimeType = /*@__PURE__*/ core.$constructor(\"$ZodCheckMimeType\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const mimeSet = new Set(def.mime);\n inst._zod.onattach.push((inst) => {\n inst._zod.bag.mime = def.mime;\n });\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 indented(fn) {\n this.indent += 1;\n fn(this);\n this.indent -= 1;\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: 5,\n patch: 4,\n};\n", "import * as checks from \"./checks.js\";\nimport * as core from \"./core.js\";\nimport { Doc } from \"./doc.js\";\nimport { parse, parseAsync, safeParse, safeParseAsync } 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. */\nconst toStandardResult = (r) => r.success ? { value: r.data } : { issues: r.error?.issues };\nexport function standardProps(inst) {\n return {\n validate: (value) => {\n try {\n return toStandardResult(safeParse(inst, value));\n }\n catch (_) {\n return safeParseAsync(inst, value).then(toStandardResult);\n }\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 inst._zod.pattern = [...(inst?._zod.bag?.patterns ?? [])].pop() ?? regexes.string(inst._zod.bag);\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 constructor rejected the input. */\nexport const URL_UNPARSEABLE = 2;\n/** Parses a URL for `$ZodURL`, applying the one guard the URL constructor cannot express. Returns the parsed URL, or a code naming the stage that rejected it \u2014 the runtime needs that distinction to pick an issue note, and compiled code only needs to know it is not a URL. */\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 // @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 = parseURLObject(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 (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 // these two drop the offset or seconds `date-time` requires \u2014 on the bag not the def, since `z.string().check(...)` lands the format on a different schema\n if (def.local || def.precision === -1) {\n inst._zod.bag.laxFormat = true;\n inst._zod.onattach.push((s) => {\n s._zod.bag.laxFormat = true;\n });\n }\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 inst._zod.bag.format = `ipv4`;\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 try {\n // @ts-ignore\n new URL(`http://[${value}]`);\n return true;\n }\n catch {\n return false;\n }\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.bag.format = `ipv6`;\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 inst._zod.bag.format = `mac`;\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}\nexport const $ZodBase64 = /*@__PURE__*/ core.$constructor(\"$ZodBase64\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.base64);\n $ZodStringFormat.init(inst, def);\n inst._zod.bag.contentEncoding = \"base64\";\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////////////////////////////// ZodBase64 //////////////////////////////\nexport function isValidBase64URL(data) {\n if (!regexes.base64url.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 = regexes.base64url);\n $ZodStringFormat.init(inst, def);\n inst._zod.bag.contentEncoding = \"base64url\";\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[--length];\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////////////////////////////// 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 = inst._zod.bag.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 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 }\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) {\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) {\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 for (const key in input) {\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}\n// Whichever object a def's `shape` currently answers from: the one the caller passed until the first read, the frozen copy after it. Keyed by def, so a def rebuilt by a builder is simply absent rather than inheriting the source's. Read its keys with `Object.keys`, which does not invoke them \u2014 that is what lets a discriminated union check its discriminator without resolving an option whose getters reference the union being constructed.\nconst propShapes = new WeakMap();\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 sh = def.shape;\n const desc = Object.getOwnPropertyDescriptor(def, \"shape\");\n if (!desc?.get) {\n const sh = def.shape;\n propShapes.set(def, sh);\n Object.defineProperty(def, \"shape\", {\n get: () => {\n const newSh = { ...sh };\n Object.defineProperty(def, \"shape\", {\n value: newSh,\n });\n propShapes.set(def, newSh);\n return newSh;\n },\n });\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 for (const key of value.allKeys) {\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);\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 does for every interpreted path.\n const prefixStr = (id, k) => `\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 }`;\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 }\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 (${id}.value === undefined) {\n if (${isPresent}) {\n newResult[${k}] = undefined;\n }\n } else {\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);\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 of `union` whose discriminator claims `value`. */\nexport function getDiscriminatedOption(union, value) {\n const internals = union._zod;\n let map = internals.bag.optionsMap;\n if (!map) {\n map = new Map();\n const { options, discriminator } = internals.def;\n for (const option of options) {\n // First declaration wins, matching the order the parse path resolves a duplicate in.\n for (const v of option._zod.propValues?.[discriminator] ?? [])\n if (!map.has(v))\n map.set(v, option);\n }\n internals.bag.optionsMap = map;\n }\n return map.get(value);\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 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 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 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, lazies, and objects rebuilt by a builder such as `.extend()` \u2014 are left to the map.\n def.options.forEach((option, i) => {\n const propShape = propShapes.get(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(() => {\n const opts = def.options;\n const map = new Map();\n for (const o of opts) {\n const values = o._zod.propValues?.[def.discriminator];\n if (!values || values.size === 0)\n throw new Error(`Invalid discriminated union option at index \"${def.options.indexOf(o)}\"`);\n for (const v of values) {\n if (map.has(v)) {\n throw new Error(`Duplicate discriminator value \"${String(v)}\"`);\n }\n map.set(v, o);\n }\n }\n return map;\n });\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 opt = disc.value.get(input?.[def.discriminator]);\n if (opt) {\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()),\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 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 }\n }\n if (def.rest) {\n let i = items.length - 1;\n const rest = input.slice(items.length);\n for (const el of rest) {\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 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 for (const [key, value] of input) {\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 for (const item of input) {\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 const patternValues = values.filter((k) => util.propertyKeyTypes.has(typeof k));\n // unmatchable fallback, RE2-safe: an empty alternation would compile to /^()$/, which matches \"\"\n inst._zod.pattern = new RegExp(patternValues.length ? `^(${patternValues.map((o) => util.escapeRegex(o.toString())).join(\"|\")})$` : \"^[^\\\\s\\\\S]$\");\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 // unmatchable fallback, RE2-safe: an empty alternation would compile to /^()$/, which matches \"\"\n inst._zod.pattern = new RegExp(def.values.length\n ? `^(${def.values\n .map((o) => (typeof o === \"string\" ? util.escapeRegex(o) : o ? util.escapeRegex(o.toString()) : String(o)))\n .join(\"|\")})$`\n : \"^[^\\\\s\\\\S]$\");\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}\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 if (!part._zod.pattern) {\n // if (!source)\n throw new Error(`Invalid template literal part, no pattern found: ${[...part._zod.traits].shift()}`);\n }\n const source = part._zod.pattern instanceof RegExp ? part._zod.pattern.source : part._zod.pattern;\n if (!source)\n throw new Error(`Invalid template literal part: ${part._zod.traits}`);\n const start = source.startsWith(\"^\") ? 1 : 0;\n const end = source.endsWith(\"$\") ? source.length - 1 : source.length;\n regexParts.push(source.slice(start, end));\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", "export 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// 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/** Whether this schema's subtree contains a cycle, so one parse can re-enter it. */\nfunction isRecursive(inst, stack) {\n const cached = recursive.get(inst);\n if (cached !== undefined)\n return cached;\n // Relative to the walk in progress, so not cached.\n if (stack.has(inst))\n return true;\n stack.add(inst);\n let result = false;\n const check = (child) => {\n if (!result && child?._zod && isRecursive(child, stack))\n result = true;\n };\n const def = inst._zod.def;\n const kind = def.type;\n switch (kind) {\n case \"object\": {\n // `Reflect.ownKeys` rather than `Object.keys`, so a cycle through a declared symbol key is still seen\n for (const key of Reflect.ownKeys(def.shape))\n check(def.shape[key]);\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 // reading `_zod.innerType` resolves the getter once and caches it\n case \"lazy\":\n check(inst._zod.innerType);\n break;\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 recursive.set(inst, result);\n return result;\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 return isRecursive(inst, new Set());\n}\nfunction bucketFor(state, inst) {\n let bucket = state.buckets.get(inst);\n if (!bucket) {\n bucket = new Map();\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 // `bucket` memoized for one parse; a recursive schema is re-entered many times 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 isRecursiveInst = isRecursive(inst, new Set());\n if (!isRecursiveInst) {\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 }\n const input = payload.value;\n if (input === null || typeof input !== \"object\")\n return base(payload, ctx);\n let state = ctx[STATE];\n if (!state) {\n state = { buckets: new Map(), 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 Set());\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 && value !== null && typeof value === \"object\" && 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 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 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 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 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 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 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 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 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 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 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 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 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 credit_card: \"credit card number\",\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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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, isValidIPv6, isValidJWT, mergeValues, parseURLObject, stripTabAndNewline, urlHostnameOk, urlProtocolOk, } from \"./schemas.js\";\nimport * as util from \"./util.js\";\n/** Sentinel value returned by the compiled fast path when validation fails. Internal. */\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 = 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\n // clone's). The original closed over its own `inst` at construction time;\n // issue payloads use that reference to derive things like the class name\n // for `z.instanceof(Test)`. Calling the clone's freshly-initialized run\n // would push issues with `inst === clone`, producing diverging error\n // messages from the original schema.\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 clone._zod.bag.validator = compileValidator(schema, 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 }\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}\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 * Generate the standalone compiled function: a parser by default, a validator under\n * `assertOnly`. Returns either the parsed value, `true` where nothing reads the output,\n * or the `INVALID` sentinel. Internal \u2014 consumers should 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 };\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 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}\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 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 \"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}\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 = addConstant(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 = addConstant(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]);\n// Returns the accessor holding the (possibly normalized) value after the check \u2014 url/normalize formats produce a new value like overwrite does. Never assigns to the incoming accessor: it may be a `const` or a property expression on user input.\nfunction generateStringFormatCheck(doc, ctx, def, accessor) {\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 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, parseURLObject);\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 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);\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) {\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);\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 // Shape keys in declared order, then unknown keys in for...in order. A middle-rung key is included iff present on the input, else iff its output is not undefined.\n const outputVar = newVar(ctx);\n const hasConditionalKeys = allKeys.some((k) => mayOutputUndefined(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 (mayOutputUndefined(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}\n// Whether a schema's success-path output can be `undefined`. Object output\n// assembly gives such props the runtime's value-or-presence inclusion rule;\n// everything else keeps the unconditional object-literal slot.\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 // Two options claiming one value are not discriminable, and the branch chain below would silently give it to the first. Declining to compile hands that back to the interpreter, whose own map build reports it.\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 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 const keyFast = addConstant(ctx, compileFn(def.keyType));\n const numericConst = addConstant(ctx, regexes.number);\n const propIsEnumerableConst = addConstant(ctx, Object.prototype.propertyIsEnumerable);\n const outKeyVar = newVar(ctx);\n doc.write(`for (const ${kVar} of Reflect.ownKeys(${accessor})) {`);\n doc.indented((d) => {\n d.write(`if (${kVar} === \"__proto__\") continue;`);\n d.write(`if (!${propIsEnumerableConst}.call(${accessor}, ${kVar})) continue;`);\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 doc.write(`}`);\n return outputVar;\n }\n // Plain z.string() keys: iterate enumerable own keys and validate each value. Runtime uses Reflect.ownKeys so symbol keys participate in validation; matching that here prevents silently accepting objects with enumerable Symbol keys under z.record(z.string(), ...).\n const propIsEnumerable = addConstant(ctx, Object.prototype.propertyIsEnumerable);\n doc.write(`for (const ${kVar} of Reflect.ownKeys(${accessor})) {`);\n doc.indented((d) => {\n d.write(`if (${kVar} === \"__proto__\") continue;`);\n d.write(`if (!${propIsEnumerable}.call(${accessor}, ${kVar})) continue;`);\n d.write(`if (typeof ${kVar} !== \"string\") return INVALID;`);\n d.write(`const ${valVar} = ${accessor}[${kVar}];`);\n const valOutput = compileChild(d, ctx, def.valueType, valVar);\n d.write(`${outputVar}[${kVar}] = ${valOutput};`);\n });\n doc.write(`}`);\n return outputVar;\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 = addConstant(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.\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 = addConstant(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 = addConstant(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 = addConstant(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 = addConstant(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\";\n// @__NO_SIDE_EFFECTS__\nexport function _string(Class, params) {\n return new Class({\n type: \"string\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _coercedString(Class, params) {\n return new Class({\n type: \"string\",\n coerce: true,\n ...util.normalizeParams(params),\n });\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 _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({\n type: \"number\",\n checks: [],\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _coercedNumber(Class, params) {\n return new Class({\n type: \"number\",\n coerce: true,\n checks: [],\n ...util.normalizeParams(params),\n });\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) {\n return Object.entries(shape).map(([property, schema]) => new checks.$ZodCheckProperty({ check: \"property\", property, schema }));\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}\nexport function process(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 process(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// 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 // biome-ignore lint:\n continue;\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 process(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 process(schema, ctx);\n extractDefs(ctx, schema);\n return finalize(ctx, schema);\n};\n", "import * as regexes from \"./regexes.js\";\nimport { extractDefs, finalize, handleUnrepresentable, initializeContext, process, } from \"./to-json-schema.js\";\nimport { assignProp, getEnumValues } from \"./util.js\";\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 ====================\nexport const stringProcessor = (schema, ctx, _json, _params) => {\n const json = _json;\n json.type = \"string\";\n const { minimum, maximum, format, patterns, contentEncoding, laxFormat } = schema._zod\n .bag;\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];\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, format, multipleOf, exclusiveMaximum, exclusiveMinimum } = schema._zod.bag;\n if (typeof format === \"string\" && format.includes(\"int\"))\n json.type = \"integer\";\n else\n json.type = \"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 (typeof multipleOf === \"number\") {\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 if (Number.isFinite(multipleOf) && multipleOf !== 0)\n json.multipleOf = Math.abs(multipleOf);\n else\n handleUnrepresentable(schema, ctx, json, params, `A multipleOf divisor of ${multipleOf} cannot be represented in JSON Schema`);\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 const file = {\n type: \"string\",\n format: \"binary\",\n contentEncoding: \"binary\",\n };\n const { minimum, maximum, mime } = schema._zod.bag;\n if (minimum !== undefined)\n file.minLength = minimum;\n if (maximum !== undefined)\n file.maxLength = maximum;\n if (mime) {\n if (mime.length === 1) {\n file.contentMediaType = mime[0];\n Object.assign(_json, file);\n }\n else {\n Object.assign(_json, file); // shared props at root\n _json.anyOf = mime.map((m) => ({ contentMediaType: m })); // only contentMediaType differs\n }\n }\n else {\n Object.assign(_json, file);\n }\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 } = schema._zod.bag;\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 = process(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, process(shape[key], ctx, {\n ...params,\n path: [...params.path, \"properties\", key],\n }));\n }\n // required keys\n const allKeys = new Set(Object.keys(shape));\n const requiredKeys = new Set([...allKeys].filter((key) => {\n const field = def.shape[key];\n if (ctx.io === \"input\") {\n return inputOptin(field) === undefined;\n }\n else {\n return field._zod.optout === undefined;\n }\n }));\n if (requiredKeys.size > 0) {\n json.required = Array.from(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 = process(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) => process(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 = process(def.left, ctx, {\n ...params,\n path: [...params.path, \"allOf\", 0],\n });\n const b = process(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) => process(x, ctx, {\n ...params,\n path: [...params.path, prefixPath, i],\n }));\n const rest = def.rest\n ? process(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 } = schema._zod.bag;\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 keyBag = keyType._zod.bag;\n const patterns = keyBag?.patterns;\n if (def.mode === \"loose\" && patterns && patterns.size > 0) {\n // Use patternProperties for looseRecord with regex patterns\n const valueSchema = process(def.valueType, ctx, {\n ...params,\n path: [...params.path, \"patternProperties\", \"*\"],\n });\n json.patternProperties = {};\n for (const pattern of patterns) {\n assignProp(json.patternProperties, 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 = process(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 = process(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 = process(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 process(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 process(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 process(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 process(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 process(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 process(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 process(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 process(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 process(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 process(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 process(input, ctx);\n extractDefs(ctx, input);\n return finalize(ctx, input);\n}\n", "import { allProcessors } from \"./json-schema-processors.js\";\nimport { extractDefs, finalize, initializeContext, process, } 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 process(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 { 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 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 const bag = inst._zod.bag;\n inst.format = bag.format ?? null;\n inst.minLength = bag.minimum ?? null;\n inst.maxLength = bag.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: core.regexes.httpProtocol,\n hostname: core.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 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\", core.regexes.hostname, _params);\n}\nexport function hex(_params) {\n return core._stringFormat(ZodCustomStringFormat, \"hex\", core.regexes.hex, _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 const bag = inst._zod.bag;\n inst.minValue =\n Math.max(bag.minimum ?? Number.NEGATIVE_INFINITY, bag.exclusiveMinimum ?? Number.NEGATIVE_INFINITY) ?? null;\n inst.maxValue =\n Math.min(bag.maximum ?? Number.POSITIVE_INFINITY, bag.exclusiveMaximum ?? Number.POSITIVE_INFINITY) ?? null;\n inst.isInt = (bag.format ?? \"\").includes(\"int\") || Number.isSafeInteger(bag.multipleOf ?? 0.5);\n inst.isFinite = true;\n inst.format = bag.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 const bag = inst._zod.bag;\n inst.minValue = bag.minimum ?? null;\n inst.maxValue = bag.maximum ?? null;\n inst.format = bag.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 const c = inst._zod.bag;\n inst.minDate = c.minimum ? new Date(c.minimum) : null;\n inst.maxDate = c.maximum ? new Date(c.maximum) : null;\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 return this.clone({ ...this._zod.def, catchall: catchall });\n },\n passthrough() {\n return this.clone({ ...this._zod.def, catchall: unknown() });\n },\n loose() {\n return this.clone({ ...this._zod.def, catchall: unknown() });\n },\n strict() {\n return this.clone({ ...this._zod.def, catchall: never() });\n },\n strip() {\n return this.clone({ ...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 inst.options = Object.values(def.entries);\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;\nfunction _instanceof(cls, params = {}) {\n const inst = new ZodCustom({\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 * Rejects every own key that fails `keySchema`, before `objectSchema` runs. The\n * guard has to see the raw input: an object parse drops `__proto__` and can add\n * keys from a property `default`, so its output is not the set of names the\n * instance actually carried.\n */\nfunction checkPropertyNames(objectSchema, keySchema) {\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 for (const key of Object.getOwnPropertyNames(value)) {\n const result = 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 return guard.pipe(objectSchema);\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 === \"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 if (schema.propertyNames !== undefined && schema.propertyNames !== true) {\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 zodSchema = checkPropertyNames(zodSchema, convertSchema(keyJSONSchema, ctx));\n }\n break;\n }\n case \"array\": {\n // TODO: uniqueItems and contains/minContains/maxContains are not supported\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 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` is enforced by a key 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.\n if (schema.propertyNames !== undefined && schema.type === \"object\" && schema.$ref === undefined) {\n extraMeta.propertyNames = schema.propertyNames;\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", "export const MOBIUS_PROTOCOL_VERSION = 1;\n", "import { z } from \"zod\";\n\nimport { ProtocolMessageError } from \"./codecs/messages.ts\";\nimport { MOBIUS_PROTOCOL_VERSION } from \"./version.ts\";\n\nexport const WORKSPACE_LIST_KIND = \"workspace.list\";\nexport const WORKSPACE_ENTRIES_KIND = \"workspace.entries\";\nexport const SESSION_PREPARE_KIND = \"session.prepare\";\nexport const SESSION_READY_KIND = \"session.ready\";\nexport const SESSION_CONFIGURE_KIND = \"session.configure\";\nexport const SESSION_CONFIG_UPDATED_KIND = \"session.config.updated\";\nexport const SESSION_USAGE_UPDATED_KIND = \"session.usage.updated\";\nexport const SESSION_COMMANDS_UPDATED_KIND = \"session.commands.updated\";\nexport const SESSION_INFO_UPDATED_KIND = \"session.info.updated\";\nexport const SESSION_PERMISSION_REQUESTED_KIND = \"session.permission.requested\";\nexport const SESSION_PERMISSION_RESPOND_KIND = \"session.permission.respond\";\nexport const SESSION_PERMISSION_RESOLVED_KIND = \"session.permission.resolved\";\nexport const SESSION_ELICITATION_REQUESTED_KIND =\n \"session.elicitation.requested\";\nexport const SESSION_ELICITATION_RESPOND_KIND = \"session.elicitation.respond\";\nexport const SESSION_ELICITATION_RESOLVED_KIND = \"session.elicitation.resolved\";\nexport const SESSION_OPERATION_FAILED_KIND = \"session.operation.failed\";\nexport const AGENT_CONTENT_KIND = \"agent.content\";\n\nconst IDENTIFIER_PATTERN = /^[a-zA-Z0-9][a-zA-Z0-9._:-]{0,127}$/;\nconst DIRECTORY_IDENTIFIER_PATTERN = /^[a-zA-Z0-9][a-zA-Z0-9_-]{0,2047}$/;\nconst IDENTIFIER = z.string().min(1).max(128).regex(IDENTIFIER_PATTERN);\nconst DIRECTORY_IDENTIFIER = z\n .string()\n .min(1)\n .max(2_048)\n .regex(DIRECTORY_IDENTIFIER_PATTERN);\nconst SHORT_TEXT = z.string().max(500);\nconst LONG_TEXT = z.string().max(100_000);\nconst PROTOCOL_VERSION = z.literal(MOBIUS_PROTOCOL_VERSION);\n\nconst workspaceEntrySchema = z\n .strictObject({\n directoryId: DIRECTORY_IDENTIFIER,\n name: z.string().min(1).max(255),\n })\n .readonly();\n\nexport type WorkspaceEntry = z.infer<typeof workspaceEntrySchema>;\n\nconst configValueSchema = z\n .strictObject({\n description: SHORT_TEXT,\n groupId: z.string().max(128),\n groupName: z.string().max(255),\n name: z.string().min(1).max(255),\n value: z.string().min(1).max(500),\n })\n .readonly();\n\nexport type SessionConfigValue = z.infer<typeof configValueSchema>;\n\nconst configOptionSchema = z\n .strictObject({\n booleanValue: z.boolean(),\n category: z.string().max(128),\n currentValue: z.string().max(500),\n description: SHORT_TEXT,\n id: z.string().min(1).max(128),\n name: z.string().min(1).max(255),\n type: z.enum([\"boolean\", \"select\"]),\n values: z.array(configValueSchema).max(500).readonly(),\n })\n .readonly();\n\nexport type SessionConfigOption = z.infer<typeof configOptionSchema>;\n\nconst sessionCapabilitiesSchema = z\n .strictObject({\n additionalDirectories: z.boolean(),\n audioPrompt: z.boolean(),\n closeSession: z.boolean(),\n deleteSession: z.boolean(),\n embeddedContextPrompt: z.boolean(),\n imagePrompt: z.boolean(),\n listSessions: z.boolean(),\n loadSession: z.boolean(),\n resumeSession: z.boolean(),\n })\n .readonly();\n\nexport type SessionCapabilities = z.infer<typeof sessionCapabilitiesSchema>;\n\nconst sessionCommandSchema = z\n .strictObject({\n description: SHORT_TEXT,\n inputHint: z.string().max(255),\n name: z.string().min(1).max(128),\n })\n .readonly();\n\nexport type SessionCommand = z.infer<typeof sessionCommandSchema>;\n\nconst permissionOptionSchema = z\n .strictObject({\n kind: z.enum([\n \"allow_once\",\n \"allow_always\",\n \"reject_once\",\n \"reject_always\",\n ]),\n name: z.string().min(1).max(255),\n optionId: z.string().min(1).max(255),\n })\n .readonly();\n\nexport type SessionPermissionOption = z.infer<typeof permissionOptionSchema>;\n\nconst elicitationOptionSchema = z\n .strictObject({\n description: SHORT_TEXT,\n label: z.string().min(1).max(255),\n value: z.string().max(500),\n })\n .readonly();\n\nexport type SessionElicitationOption = z.infer<typeof elicitationOptionSchema>;\n\nconst elicitationFieldSchema = z\n .strictObject({\n defaultBooleanValue: z.boolean(),\n defaultNumberValue: z.number().finite(),\n defaultStringValue: z.string().max(10_000),\n description: SHORT_TEXT,\n format: z.string().max(64),\n hasDefaultValue: z.boolean(),\n maximum: z.string().max(128),\n maximumLength: z.string().max(128),\n minimum: z.string().max(128),\n minimumLength: z.string().max(128),\n name: z.string().min(1).max(128),\n options: z.array(elicitationOptionSchema).max(200).readonly(),\n pattern: z.string().max(500),\n required: z.boolean(),\n title: z.string().min(1).max(255),\n type: z.enum([\n \"boolean\",\n \"integer\",\n \"multiselect\",\n \"number\",\n \"select\",\n \"string\",\n ]),\n })\n .readonly();\n\nexport type SessionElicitationField = z.infer<typeof elicitationFieldSchema>;\n\nconst displayContentSchema = z\n .strictObject({\n data: z.string().max(4_000_000),\n mimeType: z.string().max(255),\n name: z.string().max(500),\n newText: LONG_TEXT,\n oldText: LONG_TEXT,\n path: z.string().max(2_048),\n terminalId: z.string().max(255),\n text: LONG_TEXT,\n type: z.enum([\n \"diff\",\n \"image\",\n \"resource\",\n \"resource_link\",\n \"terminal\",\n \"text\",\n ]),\n uri: z.string().max(4_096),\n })\n .readonly();\n\nexport type AgentDisplayContent = z.infer<typeof displayContentSchema>;\n\nconst promptImageSchema = z\n .strictObject({\n data: z.string().min(1).max(4_000_000),\n mimeType: z.string().min(1).max(255),\n name: z.string().min(1).max(500),\n })\n .readonly();\n\nexport type PromptImage = z.infer<typeof promptImageSchema>;\n\nconst promptResourceSchema = z\n .strictObject({\n mimeType: z.string().max(255),\n name: z.string().min(1).max(500),\n text: z.string().max(1_000_000),\n type: z.enum([\"embedded\", \"link\"]),\n uri: z.string().min(1).max(4_096),\n })\n .readonly();\n\nexport type PromptResource = z.infer<typeof promptResourceSchema>;\n\nconst workspaceListCommandSchema = z\n .strictObject({\n bindingId: IDENTIFIER,\n directoryId: DIRECTORY_IDENTIFIER,\n kind: z.literal(WORKSPACE_LIST_KIND),\n protocolVersion: PROTOCOL_VERSION,\n requestId: IDENTIFIER,\n })\n .readonly();\n\nexport type WorkspaceListCommand = z.infer<typeof workspaceListCommandSchema>;\n\nconst workspaceEntriesEventSchema = z\n .strictObject({\n bindingId: IDENTIFIER,\n directoryId: DIRECTORY_IDENTIFIER,\n directoryLabel: z.string().min(1).max(2_048),\n entries: z.array(workspaceEntrySchema).max(500).readonly(),\n kind: z.literal(WORKSPACE_ENTRIES_KIND),\n parentDirectoryId: z.string().max(2_048),\n protocolVersion: PROTOCOL_VERSION,\n requestId: IDENTIFIER,\n })\n .readonly();\n\nexport type WorkspaceEntriesEvent = z.infer<typeof workspaceEntriesEventSchema>;\n\nconst sessionIdentityFields = {\n additionalDirectoryIds: z.array(DIRECTORY_IDENTIFIER).max(16).readonly(),\n agentId: IDENTIFIER,\n bindingId: IDENTIFIER,\n directoryId: DIRECTORY_IDENTIFIER,\n sessionId: IDENTIFIER,\n};\n\nconst sessionPrepareCommandSchema = z\n .strictObject({\n ...sessionIdentityFields,\n kind: z.literal(SESSION_PREPARE_KIND),\n protocolVersion: PROTOCOL_VERSION,\n requestId: IDENTIFIER,\n })\n .readonly();\n\nexport type SessionPrepareCommand = z.infer<typeof sessionPrepareCommandSchema>;\n\nconst sessionReadyEventSchema = z\n .strictObject({\n additionalDirectories: z.array(workspaceEntrySchema).max(16).readonly(),\n agentId: IDENTIFIER,\n agentName: z.string().max(255),\n agentVersion: z.string().max(128),\n capabilities: sessionCapabilitiesSchema,\n commands: z.array(sessionCommandSchema).max(500).readonly(),\n configOptions: z.array(configOptionSchema).max(100).readonly(),\n directoryId: DIRECTORY_IDENTIFIER,\n directoryLabel: z.string().min(1).max(2_048),\n kind: z.literal(SESSION_READY_KIND),\n protocolVersion: PROTOCOL_VERSION,\n requestId: IDENTIFIER,\n restored: z.boolean(),\n sessionId: IDENTIFIER,\n })\n .readonly();\n\nexport type SessionReadyEvent = z.infer<typeof sessionReadyEventSchema>;\n\nconst sessionConfigureCommandSchema = z\n .strictObject({\n ...sessionIdentityFields,\n booleanValue: z.boolean(),\n configId: z.string().min(1).max(128),\n kind: z.literal(SESSION_CONFIGURE_KIND),\n protocolVersion: PROTOCOL_VERSION,\n requestId: IDENTIFIER,\n value: z.string().max(500),\n valueType: z.enum([\"boolean\", \"select\"]),\n })\n .readonly();\n\nexport type SessionConfigureCommand = z.infer<\n typeof sessionConfigureCommandSchema\n>;\n\nconst sessionConfigUpdatedEventSchema = z\n .strictObject({\n configOptions: z.array(configOptionSchema).max(100).readonly(),\n kind: z.literal(SESSION_CONFIG_UPDATED_KIND),\n protocolVersion: PROTOCOL_VERSION,\n requestId: IDENTIFIER,\n sessionId: IDENTIFIER,\n })\n .readonly();\n\nexport type SessionConfigUpdatedEvent = z.infer<\n typeof sessionConfigUpdatedEventSchema\n>;\n\nconst sessionUsageUpdatedEventSchema = z\n .strictObject({\n costAmount: z.number().finite().nonnegative(),\n costCurrency: z.string().max(16),\n hasCost: z.boolean(),\n kind: z.literal(SESSION_USAGE_UPDATED_KIND),\n protocolVersion: PROTOCOL_VERSION,\n sessionId: IDENTIFIER,\n size: z.number().int().nonnegative(),\n used: z.number().int().nonnegative(),\n })\n .readonly();\n\nexport type SessionUsageUpdatedEvent = z.infer<\n typeof sessionUsageUpdatedEventSchema\n>;\n\nconst sessionCommandsUpdatedEventSchema = z\n .strictObject({\n commands: z.array(sessionCommandSchema).max(500).readonly(),\n kind: z.literal(SESSION_COMMANDS_UPDATED_KIND),\n protocolVersion: PROTOCOL_VERSION,\n sessionId: IDENTIFIER,\n })\n .readonly();\n\nexport type SessionCommandsUpdatedEvent = z.infer<\n typeof sessionCommandsUpdatedEventSchema\n>;\n\nconst sessionInfoUpdatedEventSchema = z\n .strictObject({\n kind: z.literal(SESSION_INFO_UPDATED_KIND),\n protocolVersion: PROTOCOL_VERSION,\n sessionId: IDENTIFIER,\n title: z.string().max(500),\n updatedAt: z.string().max(128),\n })\n .readonly();\n\nexport type SessionInfoUpdatedEvent = z.infer<\n typeof sessionInfoUpdatedEventSchema\n>;\n\nconst sessionPermissionRequestedEventSchema = z\n .strictObject({\n commandId: IDENTIFIER,\n interactionId: IDENTIFIER,\n kind: z.literal(SESSION_PERMISSION_REQUESTED_KIND),\n options: z.array(permissionOptionSchema).min(1).max(20).readonly(),\n protocolVersion: PROTOCOL_VERSION,\n sessionId: IDENTIFIER,\n title: z.string().min(1).max(500),\n toolCallId: z.string().min(1).max(255),\n toolKind: z.string().max(64),\n })\n .readonly();\n\nexport type SessionPermissionRequestedEvent = z.infer<\n typeof sessionPermissionRequestedEventSchema\n>;\n\nconst sessionPermissionRespondCommandSchema = z\n .strictObject({\n interactionId: IDENTIFIER,\n kind: z.literal(SESSION_PERMISSION_RESPOND_KIND),\n optionId: z.string().max(255),\n outcome: z.enum([\"cancelled\", \"selected\"]),\n protocolVersion: PROTOCOL_VERSION,\n sessionId: IDENTIFIER,\n })\n .readonly();\n\nexport type SessionPermissionRespondCommand = z.infer<\n typeof sessionPermissionRespondCommandSchema\n>;\n\nconst sessionPermissionResolvedEventSchema = z\n .strictObject({\n interactionId: IDENTIFIER,\n kind: z.literal(SESSION_PERMISSION_RESOLVED_KIND),\n optionId: z.string().max(255),\n outcome: z.enum([\"cancelled\", \"selected\"]),\n protocolVersion: PROTOCOL_VERSION,\n sessionId: IDENTIFIER,\n })\n .readonly();\n\nexport type SessionPermissionResolvedEvent = z.infer<\n typeof sessionPermissionResolvedEventSchema\n>;\n\nconst sessionElicitationRequestedEventSchema = z\n .strictObject({\n accepted: z.boolean(),\n commandId: IDENTIFIER,\n elicitationId: z.string().max(255),\n fields: z.array(elicitationFieldSchema).max(100).readonly(),\n interactionId: IDENTIFIER,\n kind: z.literal(SESSION_ELICITATION_REQUESTED_KIND),\n message: z.string().min(1).max(2_000),\n mode: z.enum([\"form\", \"url\"]),\n protocolVersion: PROTOCOL_VERSION,\n sessionId: IDENTIFIER,\n url: z.string().max(4_096),\n })\n .readonly();\n\nexport type SessionElicitationRequestedEvent = z.infer<\n typeof sessionElicitationRequestedEventSchema\n>;\n\nconst sessionElicitationRespondCommandSchema = z\n .strictObject({\n action: z.enum([\"accept\", \"cancel\", \"decline\"]),\n content: z.string().max(100_000),\n interactionId: IDENTIFIER,\n kind: z.literal(SESSION_ELICITATION_RESPOND_KIND),\n protocolVersion: PROTOCOL_VERSION,\n sessionId: IDENTIFIER,\n })\n .readonly();\n\nexport type SessionElicitationRespondCommand = z.infer<\n typeof sessionElicitationRespondCommandSchema\n>;\n\nconst sessionElicitationResolvedEventSchema = z\n .strictObject({\n action: z.enum([\"accept\", \"cancel\", \"decline\", \"complete\"]),\n interactionId: IDENTIFIER,\n kind: z.literal(SESSION_ELICITATION_RESOLVED_KIND),\n protocolVersion: PROTOCOL_VERSION,\n sessionId: IDENTIFIER,\n })\n .readonly();\n\nexport type SessionElicitationResolvedEvent = z.infer<\n typeof sessionElicitationResolvedEventSchema\n>;\n\nconst sessionOperationFailedEventSchema = z\n .strictObject({\n code: IDENTIFIER,\n kind: z.literal(SESSION_OPERATION_FAILED_KIND),\n message: z.string().min(1).max(500),\n protocolVersion: PROTOCOL_VERSION,\n requestId: IDENTIFIER,\n sessionId: z.string().max(128),\n })\n .readonly();\n\nexport type SessionOperationFailedEvent = z.infer<\n typeof sessionOperationFailedEventSchema\n>;\n\nconst agentContentEventSchema = z\n .strictObject({\n commandId: IDENTIFIER,\n content: displayContentSchema,\n contentId: IDENTIFIER,\n kind: z.literal(AGENT_CONTENT_KIND),\n messageId: z.string().max(255),\n protocolVersion: PROTOCOL_VERSION,\n sessionId: IDENTIFIER,\n })\n .readonly();\n\nexport type AgentContentEvent = z.infer<typeof agentContentEventSchema>;\n\nfunction parseJson(encoded: string): unknown {\n try {\n return JSON.parse(encoded);\n } catch (error) {\n throw new ProtocolMessageError(\"Message is not valid JSON\", {\n cause: error,\n });\n }\n}\n\nfunction decode<T>(encoded: string, schema: z.ZodType<T>): T {\n const result = schema.safeParse(parseJson(encoded));\n if (!result.success) {\n throw new ProtocolMessageError(\"Message does not match its schema\", {\n cause: result.error,\n });\n }\n return result.data;\n}\n\nfunction decodeValue<T>(value: unknown, schema: z.ZodType<T>): T {\n const result = schema.safeParse(value);\n if (!result.success) {\n throw new ProtocolMessageError(\"Message field does not match its schema\", {\n cause: result.error,\n });\n }\n return result.data;\n}\n\nexport const decodeAgentDisplayContentValue = (\n value: unknown,\n): AgentDisplayContent => decodeValue(value, displayContentSchema);\n\nexport const decodePromptImagesValue = (\n value: unknown,\n): readonly PromptImage[] =>\n decodeValue(value, z.array(promptImageSchema).max(8).readonly());\n\nexport const decodePromptResourcesValue = (\n value: unknown,\n): readonly PromptResource[] =>\n decodeValue(value, z.array(promptResourceSchema).max(16).readonly());\n\nconst encode = <T>(message: T, schema: z.ZodType<T>): string =>\n JSON.stringify(decodeValue(message, schema));\n\nexport const decodeWorkspaceListCommand = (\n encoded: string,\n): WorkspaceListCommand => decode(encoded, workspaceListCommandSchema);\nexport const encodeWorkspaceListCommand = (\n message: WorkspaceListCommand,\n): string => encode(message, workspaceListCommandSchema);\nexport const decodeWorkspaceEntriesEvent = (\n encoded: string,\n): WorkspaceEntriesEvent => decode(encoded, workspaceEntriesEventSchema);\nexport const encodeWorkspaceEntriesEvent = (\n message: WorkspaceEntriesEvent,\n): string => encode(message, workspaceEntriesEventSchema);\nexport const decodeSessionPrepareCommand = (\n encoded: string,\n): SessionPrepareCommand => decode(encoded, sessionPrepareCommandSchema);\nexport const encodeSessionPrepareCommand = (\n message: SessionPrepareCommand,\n): string => encode(message, sessionPrepareCommandSchema);\nexport const decodeSessionReadyEvent = (encoded: string): SessionReadyEvent =>\n decode(encoded, sessionReadyEventSchema);\nexport const encodeSessionReadyEvent = (message: SessionReadyEvent): string =>\n encode(message, sessionReadyEventSchema);\nexport const decodeSessionConfigureCommand = (\n encoded: string,\n): SessionConfigureCommand => decode(encoded, sessionConfigureCommandSchema);\nexport const encodeSessionConfigureCommand = (\n message: SessionConfigureCommand,\n): string => encode(message, sessionConfigureCommandSchema);\nexport const decodeSessionConfigUpdatedEvent = (\n encoded: string,\n): SessionConfigUpdatedEvent =>\n decode(encoded, sessionConfigUpdatedEventSchema);\nexport const encodeSessionConfigUpdatedEvent = (\n message: SessionConfigUpdatedEvent,\n): string => encode(message, sessionConfigUpdatedEventSchema);\nexport const decodeSessionUsageUpdatedEvent = (\n encoded: string,\n): SessionUsageUpdatedEvent => decode(encoded, sessionUsageUpdatedEventSchema);\nexport const encodeSessionUsageUpdatedEvent = (\n message: SessionUsageUpdatedEvent,\n): string => encode(message, sessionUsageUpdatedEventSchema);\nexport const decodeSessionCommandsUpdatedEvent = (\n encoded: string,\n): SessionCommandsUpdatedEvent =>\n decode(encoded, sessionCommandsUpdatedEventSchema);\nexport const encodeSessionCommandsUpdatedEvent = (\n message: SessionCommandsUpdatedEvent,\n): string => encode(message, sessionCommandsUpdatedEventSchema);\nexport const decodeSessionInfoUpdatedEvent = (\n encoded: string,\n): SessionInfoUpdatedEvent => decode(encoded, sessionInfoUpdatedEventSchema);\nexport const encodeSessionInfoUpdatedEvent = (\n message: SessionInfoUpdatedEvent,\n): string => encode(message, sessionInfoUpdatedEventSchema);\nexport const decodeSessionPermissionRequestedEvent = (\n encoded: string,\n): SessionPermissionRequestedEvent =>\n decode(encoded, sessionPermissionRequestedEventSchema);\nexport const encodeSessionPermissionRequestedEvent = (\n message: SessionPermissionRequestedEvent,\n): string => encode(message, sessionPermissionRequestedEventSchema);\nexport const decodeSessionPermissionRespondCommand = (\n encoded: string,\n): SessionPermissionRespondCommand =>\n decode(encoded, sessionPermissionRespondCommandSchema);\nexport const encodeSessionPermissionRespondCommand = (\n message: SessionPermissionRespondCommand,\n): string => encode(message, sessionPermissionRespondCommandSchema);\nexport const decodeSessionPermissionResolvedEvent = (\n encoded: string,\n): SessionPermissionResolvedEvent =>\n decode(encoded, sessionPermissionResolvedEventSchema);\nexport const encodeSessionPermissionResolvedEvent = (\n message: SessionPermissionResolvedEvent,\n): string => encode(message, sessionPermissionResolvedEventSchema);\nexport const decodeSessionElicitationRequestedEvent = (\n encoded: string,\n): SessionElicitationRequestedEvent =>\n decode(encoded, sessionElicitationRequestedEventSchema);\nexport const encodeSessionElicitationRequestedEvent = (\n message: SessionElicitationRequestedEvent,\n): string => encode(message, sessionElicitationRequestedEventSchema);\nexport const decodeSessionElicitationRespondCommand = (\n encoded: string,\n): SessionElicitationRespondCommand =>\n decode(encoded, sessionElicitationRespondCommandSchema);\nexport const encodeSessionElicitationRespondCommand = (\n message: SessionElicitationRespondCommand,\n): string => encode(message, sessionElicitationRespondCommandSchema);\nexport const decodeSessionElicitationResolvedEvent = (\n encoded: string,\n): SessionElicitationResolvedEvent =>\n decode(encoded, sessionElicitationResolvedEventSchema);\nexport const encodeSessionElicitationResolvedEvent = (\n message: SessionElicitationResolvedEvent,\n): string => encode(message, sessionElicitationResolvedEventSchema);\nexport const decodeSessionOperationFailedEvent = (\n encoded: string,\n): SessionOperationFailedEvent =>\n decode(encoded, sessionOperationFailedEventSchema);\nexport const encodeSessionOperationFailedEvent = (\n message: SessionOperationFailedEvent,\n): string => encode(message, sessionOperationFailedEventSchema);\nexport const decodeAgentContentEvent = (encoded: string): AgentContentEvent =>\n decode(encoded, agentContentEventSchema);\nexport const encodeAgentContentEvent = (message: AgentContentEvent): string =>\n encode(message, agentContentEventSchema);\n", "export const SESSION_PROMPT_KIND = \"session.prompt\";\nexport const SESSION_CANCEL_KIND = \"session.cancel\";\nexport const RUNTIME_STATUS_KIND = \"runtime.status\";\nexport const RUNTIME_LIVENESS_READY_KIND = \"runtime.liveness.ready\";\nexport const RUNTIME_HEARTBEAT_KIND = \"runtime.heartbeat\";\nexport const RUNTIME_HEARTBEAT_ACK_KIND = \"runtime.heartbeat.ack\";\nexport const SESSION_STARTED_KIND = \"session.started\";\nexport const AGENT_MESSAGE_DELTA_KIND = \"agent.message.delta\";\nexport const AGENT_ACTIVITY_KIND = \"agent.activity\";\nexport const AGENT_ACTIVITY_DETAIL_LIMIT = 24_000;\nexport const AGENT_ACTIVITY_LOCATION_LIMIT = 12;\nexport const AGENT_ACTIVITY_LOCATION_LENGTH_LIMIT = 1_024;\nexport const SESSION_COMPLETED_KIND = \"session.completed\";\nexport const SESSION_FAILED_KIND = \"session.failed\";\n\nexport interface SessionPromptCommand {\n readonly additionalDirectoryIds: readonly string[];\n readonly agentId: string;\n readonly bindingId: string;\n readonly commandId: string;\n readonly directoryId: string;\n readonly images: readonly PromptImage[];\n readonly kind: typeof SESSION_PROMPT_KIND;\n readonly prompt: string;\n readonly protocolVersion: number;\n readonly resources: readonly PromptResource[];\n readonly sessionId: string;\n}\n\nexport interface SessionCancelCommand {\n readonly commandId: string;\n readonly kind: typeof SESSION_CANCEL_KIND;\n readonly protocolVersion: number;\n readonly sessionId: string;\n}\n\nexport interface RuntimeStatusEvent {\n readonly kind: typeof RUNTIME_STATUS_KIND;\n readonly online: boolean;\n readonly protocolVersion: number;\n readonly runtimeId: string;\n}\n\nexport interface RuntimeLivenessReadyEvent {\n readonly kind: typeof RUNTIME_LIVENESS_READY_KIND;\n readonly protocolVersion: number;\n}\n\nexport interface RuntimeHeartbeatEvent {\n readonly heartbeatId: string;\n readonly kind: typeof RUNTIME_HEARTBEAT_KIND;\n readonly protocolVersion: number;\n}\n\nexport interface RuntimeHeartbeatAckEvent {\n readonly heartbeatId: string;\n readonly kind: typeof RUNTIME_HEARTBEAT_ACK_KIND;\n readonly protocolVersion: number;\n}\n\nexport interface SessionStartedEvent {\n readonly commandId: string;\n readonly kind: typeof SESSION_STARTED_KIND;\n readonly processAttemptId: string;\n readonly protocolVersion: number;\n readonly sessionId: string;\n}\n\nexport interface AgentMessageDeltaEvent {\n readonly commandId: string;\n readonly kind: typeof AGENT_MESSAGE_DELTA_KIND;\n readonly protocolVersion: number;\n readonly sessionId: string;\n readonly text: string;\n}\n\nexport interface AgentActivityEvent {\n readonly activityId: string;\n readonly activityType: string;\n readonly commandId: string;\n readonly content: readonly AgentDisplayContent[];\n readonly input: string;\n readonly kind: typeof AGENT_ACTIVITY_KIND;\n readonly locations: readonly string[];\n readonly name: string;\n readonly output: string;\n readonly protocolVersion: number;\n readonly sequence: number;\n readonly sessionId: string;\n readonly status: string;\n readonly title: string;\n readonly toolKind: string;\n}\n\nexport interface SessionCompletedEvent {\n readonly commandId: string;\n readonly kind: typeof SESSION_COMPLETED_KIND;\n readonly protocolVersion: number;\n readonly sessionId: string;\n readonly stopReason: string;\n}\n\nexport interface SessionFailedEvent {\n readonly code: string;\n readonly commandId: string;\n readonly kind: typeof SESSION_FAILED_KIND;\n readonly message: string;\n readonly protocolVersion: number;\n readonly sessionId: string;\n}\n\nimport type {\n AgentDisplayContent,\n PromptImage,\n PromptResource,\n} from \"./control-messages.ts\";\n", "import {\n decodeAgentDisplayContentValue,\n decodePromptImagesValue,\n decodePromptResourcesValue,\n} from \"../control-messages.ts\";\nimport {\n AGENT_ACTIVITY_DETAIL_LIMIT,\n AGENT_ACTIVITY_KIND,\n AGENT_ACTIVITY_LOCATION_LENGTH_LIMIT,\n AGENT_ACTIVITY_LOCATION_LIMIT,\n AGENT_MESSAGE_DELTA_KIND,\n type AgentActivityEvent,\n type AgentMessageDeltaEvent,\n RUNTIME_HEARTBEAT_ACK_KIND,\n RUNTIME_HEARTBEAT_KIND,\n RUNTIME_LIVENESS_READY_KIND,\n RUNTIME_STATUS_KIND,\n type RuntimeHeartbeatAckEvent,\n type RuntimeHeartbeatEvent,\n type RuntimeLivenessReadyEvent,\n type RuntimeStatusEvent,\n SESSION_CANCEL_KIND,\n SESSION_COMPLETED_KIND,\n SESSION_FAILED_KIND,\n SESSION_PROMPT_KIND,\n SESSION_STARTED_KIND,\n type SessionCancelCommand,\n type SessionCompletedEvent,\n type SessionFailedEvent,\n type SessionPromptCommand,\n type SessionStartedEvent,\n} from \"../messages.ts\";\nimport { MOBIUS_PROTOCOL_VERSION } from \"../version.ts\";\n\nconst IDENTIFIER_PATTERN = /^[a-zA-Z0-9][a-zA-Z0-9._:-]{0,127}$/;\nconst DIRECTORY_IDENTIFIER_PATTERN = /^[a-zA-Z0-9][a-zA-Z0-9_-]{0,2047}$/;\nconst MAX_PROMPT_LENGTH = 10_000;\nconst MAX_PROMPT_ATTACHMENT_LENGTH = 6_000_000;\nconst MAX_EVENT_TEXT_LENGTH = 100_000;\nconst ACTIVITY_TYPES = new Set([\"plan\", \"progress\", \"reasoning\", \"tool\"]);\nconst ACTIVITY_STATUSES = new Set([\n \"pending\",\n \"running\",\n \"completed\",\n \"failed\",\n]);\nconst TOOL_KINDS = new Set([\n \"\",\n \"delete\",\n \"edit\",\n \"execute\",\n \"fetch\",\n \"move\",\n \"other\",\n \"read\",\n \"search\",\n \"switch_mode\",\n \"think\",\n]);\n\nexport class ProtocolMessageError extends Error {\n readonly code = \"invalid_protocol_message\";\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n this.name = \"ProtocolMessageError\";\n }\n}\n\nfunction isRecord(value: unknown): value is Readonly<Record<string, unknown>> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction parseJson(encoded: string): Readonly<Record<string, unknown>> {\n let value: unknown;\n try {\n value = JSON.parse(encoded);\n } catch (error) {\n throw new ProtocolMessageError(\"Message is not valid JSON\", {\n cause: error,\n });\n }\n\n if (!isRecord(value)) {\n throw new ProtocolMessageError(\"Message must be a JSON object\");\n }\n\n return value;\n}\n\nfunction assertExactKeys(\n value: Readonly<Record<string, unknown>>,\n allowedKeys: readonly string[],\n): void {\n for (const key of Object.keys(value)) {\n if (!allowedKeys.includes(key)) {\n throw new ProtocolMessageError(`Unexpected message field: ${key}`);\n }\n }\n}\n\nfunction readString(\n value: Readonly<Record<string, unknown>>,\n key: string,\n maximumLength: number,\n): string {\n const field = value[key];\n if (\n typeof field !== \"string\" ||\n field.length === 0 ||\n field.length > maximumLength\n ) {\n throw new ProtocolMessageError(`Invalid string field: ${key}`);\n }\n return field;\n}\n\nfunction readText(\n value: Readonly<Record<string, unknown>>,\n key: string,\n maximumLength: number,\n): string {\n const field = value[key];\n if (typeof field !== \"string\" || field.length > maximumLength) {\n throw new ProtocolMessageError(`Invalid text field: ${key}`);\n }\n return field;\n}\n\nfunction readAllowedString(\n value: Readonly<Record<string, unknown>>,\n key: string,\n allowedValues: ReadonlySet<string>,\n): string {\n const field = readText(value, key, 64);\n if (!allowedValues.has(field)) {\n throw new ProtocolMessageError(`Invalid value field: ${key}`);\n }\n return field;\n}\n\nfunction readSequence(\n value: Readonly<Record<string, unknown>>,\n key: string,\n): number {\n const field = value[key];\n if (typeof field !== \"number\" || !Number.isSafeInteger(field) || field < 0) {\n throw new ProtocolMessageError(`Invalid integer field: ${key}`);\n }\n return field;\n}\n\nfunction readLocations(\n value: Readonly<Record<string, unknown>>,\n): readonly string[] {\n const field = value[\"locations\"];\n if (!Array.isArray(field) || field.length > AGENT_ACTIVITY_LOCATION_LIMIT) {\n throw new ProtocolMessageError(\"Invalid locations field\");\n }\n const locations: string[] = [];\n const unique = new Set<string>();\n for (const location of field) {\n if (\n typeof location !== \"string\" ||\n location.length === 0 ||\n location.length > AGENT_ACTIVITY_LOCATION_LENGTH_LIMIT\n ) {\n throw new ProtocolMessageError(\"Invalid activity location\");\n }\n if (unique.has(location)) {\n throw new ProtocolMessageError(\"Duplicate activity location\");\n }\n unique.add(location);\n locations.push(location);\n }\n return locations;\n}\n\nfunction readDirectoryIdentifiers(\n value: Readonly<Record<string, unknown>>,\n key: string,\n maximumCount: number,\n): readonly string[] {\n const field = value[key];\n if (!Array.isArray(field) || field.length > maximumCount) {\n throw new ProtocolMessageError(`Invalid directory list field: ${key}`);\n }\n const identifiers: string[] = [];\n const unique = new Set<string>();\n for (const candidate of field) {\n if (\n typeof candidate !== \"string\" ||\n !DIRECTORY_IDENTIFIER_PATTERN.test(candidate) ||\n unique.has(candidate)\n ) {\n throw new ProtocolMessageError(`Invalid directory in field: ${key}`);\n }\n unique.add(candidate);\n identifiers.push(candidate);\n }\n return identifiers;\n}\n\nfunction readActivityContent(\n value: Readonly<Record<string, unknown>>,\n): readonly ReturnType<typeof decodeAgentDisplayContentValue>[] {\n const field = value[\"content\"];\n if (!Array.isArray(field) || field.length > 100) {\n throw new ProtocolMessageError(\"Invalid activity content field\");\n }\n return field.map((entry) => decodeAgentDisplayContentValue(entry));\n}\n\nfunction readIdentifier(\n value: Readonly<Record<string, unknown>>,\n key: string,\n): string {\n const field = readString(value, key, 128);\n if (!IDENTIFIER_PATTERN.test(field)) {\n throw new ProtocolMessageError(`Invalid identifier field: ${key}`);\n }\n return field;\n}\n\nfunction readDirectoryIdentifier(\n value: Readonly<Record<string, unknown>>,\n key: string,\n): string {\n const field = readString(value, key, 2_048);\n if (!DIRECTORY_IDENTIFIER_PATTERN.test(field)) {\n throw new ProtocolMessageError(\n `Invalid directory identifier field: ${key}`,\n );\n }\n return field;\n}\n\nfunction readBoolean(\n value: Readonly<Record<string, unknown>>,\n key: string,\n): boolean {\n const field = value[key];\n if (typeof field !== \"boolean\") {\n throw new ProtocolMessageError(`Invalid boolean field: ${key}`);\n }\n return field;\n}\n\nfunction assertProtocolVersion(value: Readonly<Record<string, unknown>>): void {\n // biome-ignore lint/complexity/useLiteralKeys: TypeScript requires index-signature access here.\n if (value[\"protocolVersion\"] !== MOBIUS_PROTOCOL_VERSION) {\n throw new ProtocolMessageError(\"Unsupported protocol version\");\n }\n}\n\nfunction assertKind(\n value: Readonly<Record<string, unknown>>,\n expectedKind: string,\n): void {\n // biome-ignore lint/complexity/useLiteralKeys: TypeScript requires index-signature access here.\n if (value[\"kind\"] !== expectedKind) {\n throw new ProtocolMessageError(`Expected message kind: ${expectedKind}`);\n }\n}\n\nexport function decodeMessageKind(encoded: string): string {\n return readString(parseJson(encoded), \"kind\", 64);\n}\n\nexport function decodeSessionPromptCommand(\n encoded: string,\n): SessionPromptCommand {\n const value = parseJson(encoded);\n assertExactKeys(value, [\n \"additionalDirectoryIds\",\n \"agentId\",\n \"bindingId\",\n \"commandId\",\n \"directoryId\",\n \"images\",\n \"kind\",\n \"prompt\",\n \"protocolVersion\",\n \"resources\",\n \"sessionId\",\n ]);\n assertProtocolVersion(value);\n assertKind(value, SESSION_PROMPT_KIND);\n\n const prompt = readText(value, \"prompt\", MAX_PROMPT_LENGTH);\n const images = decodePromptImagesValue(value[\"images\"]);\n const resources = decodePromptResourcesValue(value[\"resources\"]);\n const attachmentLength =\n images.reduce((total, image) => total + image.data.length, 0) +\n resources.reduce((total, resource) => total + resource.text.length, 0);\n if (attachmentLength > MAX_PROMPT_ATTACHMENT_LENGTH) {\n throw new ProtocolMessageError(\"Prompt attachments are too large\");\n }\n if (\n prompt.trim().length === 0 &&\n images.length === 0 &&\n resources.length === 0\n ) {\n throw new ProtocolMessageError(\"Prompt must contain content\");\n }\n\n return {\n additionalDirectoryIds: readDirectoryIdentifiers(\n value,\n \"additionalDirectoryIds\",\n 16,\n ),\n agentId: readIdentifier(value, \"agentId\"),\n bindingId: readIdentifier(value, \"bindingId\"),\n commandId: readIdentifier(value, \"commandId\"),\n directoryId: readDirectoryIdentifier(value, \"directoryId\"),\n images,\n kind: SESSION_PROMPT_KIND,\n prompt,\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n resources,\n sessionId: readIdentifier(value, \"sessionId\"),\n };\n}\n\nexport function decodeSessionCancelCommand(\n encoded: string,\n): SessionCancelCommand {\n const value = parseJson(encoded);\n assertExactKeys(value, [\"commandId\", \"kind\", \"protocolVersion\", \"sessionId\"]);\n assertProtocolVersion(value);\n assertKind(value, SESSION_CANCEL_KIND);\n\n return {\n commandId: readIdentifier(value, \"commandId\"),\n kind: SESSION_CANCEL_KIND,\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n sessionId: readIdentifier(value, \"sessionId\"),\n };\n}\n\nexport function decodeRuntimeStatusEvent(encoded: string): RuntimeStatusEvent {\n const value = parseJson(encoded);\n assertExactKeys(value, [\"kind\", \"online\", \"protocolVersion\", \"runtimeId\"]);\n assertProtocolVersion(value);\n assertKind(value, RUNTIME_STATUS_KIND);\n\n return {\n kind: RUNTIME_STATUS_KIND,\n online: readBoolean(value, \"online\"),\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n runtimeId: readIdentifier(value, \"runtimeId\"),\n };\n}\n\nexport function decodeRuntimeLivenessReadyEvent(\n encoded: string,\n): RuntimeLivenessReadyEvent {\n const value = parseJson(encoded);\n assertExactKeys(value, [\"kind\", \"protocolVersion\"]);\n assertProtocolVersion(value);\n assertKind(value, RUNTIME_LIVENESS_READY_KIND);\n\n return {\n kind: RUNTIME_LIVENESS_READY_KIND,\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n };\n}\n\nexport function decodeRuntimeHeartbeatEvent(\n encoded: string,\n): RuntimeHeartbeatEvent {\n const value = parseJson(encoded);\n assertExactKeys(value, [\"heartbeatId\", \"kind\", \"protocolVersion\"]);\n assertProtocolVersion(value);\n assertKind(value, RUNTIME_HEARTBEAT_KIND);\n\n return {\n heartbeatId: readIdentifier(value, \"heartbeatId\"),\n kind: RUNTIME_HEARTBEAT_KIND,\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n };\n}\n\nexport function decodeRuntimeHeartbeatAckEvent(\n encoded: string,\n): RuntimeHeartbeatAckEvent {\n const value = parseJson(encoded);\n assertExactKeys(value, [\"heartbeatId\", \"kind\", \"protocolVersion\"]);\n assertProtocolVersion(value);\n assertKind(value, RUNTIME_HEARTBEAT_ACK_KIND);\n\n return {\n heartbeatId: readIdentifier(value, \"heartbeatId\"),\n kind: RUNTIME_HEARTBEAT_ACK_KIND,\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n };\n}\n\nexport function decodeSessionStartedEvent(\n encoded: string,\n): SessionStartedEvent {\n const value = parseJson(encoded);\n assertExactKeys(value, [\n \"commandId\",\n \"kind\",\n \"processAttemptId\",\n \"protocolVersion\",\n \"sessionId\",\n ]);\n assertProtocolVersion(value);\n assertKind(value, SESSION_STARTED_KIND);\n\n return {\n commandId: readIdentifier(value, \"commandId\"),\n kind: SESSION_STARTED_KIND,\n processAttemptId: readIdentifier(value, \"processAttemptId\"),\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n sessionId: readIdentifier(value, \"sessionId\"),\n };\n}\n\nexport function decodeAgentMessageDeltaEvent(\n encoded: string,\n): AgentMessageDeltaEvent {\n const value = parseJson(encoded);\n assertExactKeys(value, [\n \"commandId\",\n \"kind\",\n \"protocolVersion\",\n \"sessionId\",\n \"text\",\n ]);\n assertProtocolVersion(value);\n assertKind(value, AGENT_MESSAGE_DELTA_KIND);\n\n return {\n commandId: readIdentifier(value, \"commandId\"),\n kind: AGENT_MESSAGE_DELTA_KIND,\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n sessionId: readIdentifier(value, \"sessionId\"),\n text: readString(value, \"text\", MAX_EVENT_TEXT_LENGTH),\n };\n}\n\nexport function decodeAgentActivityEvent(encoded: string): AgentActivityEvent {\n const value = parseJson(encoded);\n assertExactKeys(value, [\n \"activityId\",\n \"activityType\",\n \"commandId\",\n \"content\",\n \"input\",\n \"kind\",\n \"locations\",\n \"name\",\n \"output\",\n \"protocolVersion\",\n \"sequence\",\n \"sessionId\",\n \"status\",\n \"title\",\n \"toolKind\",\n ]);\n assertProtocolVersion(value);\n assertKind(value, AGENT_ACTIVITY_KIND);\n\n return {\n activityId: readIdentifier(value, \"activityId\"),\n activityType: readAllowedString(value, \"activityType\", ACTIVITY_TYPES),\n commandId: readIdentifier(value, \"commandId\"),\n content: readActivityContent(value),\n input: readText(value, \"input\", AGENT_ACTIVITY_DETAIL_LIMIT),\n kind: AGENT_ACTIVITY_KIND,\n locations: readLocations(value),\n name: readText(value, \"name\", 128),\n output: readText(value, \"output\", AGENT_ACTIVITY_DETAIL_LIMIT),\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n sequence: readSequence(value, \"sequence\"),\n sessionId: readIdentifier(value, \"sessionId\"),\n status: readAllowedString(value, \"status\", ACTIVITY_STATUSES),\n title: readString(value, \"title\", 500),\n toolKind: readAllowedString(value, \"toolKind\", TOOL_KINDS),\n };\n}\n\nexport function decodeSessionCompletedEvent(\n encoded: string,\n): SessionCompletedEvent {\n const value = parseJson(encoded);\n assertExactKeys(value, [\n \"commandId\",\n \"kind\",\n \"protocolVersion\",\n \"sessionId\",\n \"stopReason\",\n ]);\n assertProtocolVersion(value);\n assertKind(value, SESSION_COMPLETED_KIND);\n\n return {\n commandId: readIdentifier(value, \"commandId\"),\n kind: SESSION_COMPLETED_KIND,\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n sessionId: readIdentifier(value, \"sessionId\"),\n stopReason: readString(value, \"stopReason\", 64),\n };\n}\n\nexport function decodeSessionFailedEvent(encoded: string): SessionFailedEvent {\n const value = parseJson(encoded);\n assertExactKeys(value, [\n \"code\",\n \"commandId\",\n \"kind\",\n \"message\",\n \"protocolVersion\",\n \"sessionId\",\n ]);\n assertProtocolVersion(value);\n assertKind(value, SESSION_FAILED_KIND);\n\n return {\n code: readIdentifier(value, \"code\"),\n commandId: readIdentifier(value, \"commandId\"),\n kind: SESSION_FAILED_KIND,\n message: readString(value, \"message\", 500),\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n sessionId: readIdentifier(value, \"sessionId\"),\n };\n}\n\nexport function encodeSessionPromptCommand(\n message: SessionPromptCommand,\n): string {\n return JSON.stringify(decodeSessionPromptCommand(JSON.stringify(message)));\n}\n\nexport function encodeSessionCancelCommand(\n message: SessionCancelCommand,\n): string {\n return JSON.stringify(decodeSessionCancelCommand(JSON.stringify(message)));\n}\n\nexport function encodeRuntimeStatusEvent(message: RuntimeStatusEvent): string {\n return JSON.stringify(decodeRuntimeStatusEvent(JSON.stringify(message)));\n}\n\nexport function encodeRuntimeLivenessReadyEvent(\n message: RuntimeLivenessReadyEvent,\n): string {\n return JSON.stringify(\n decodeRuntimeLivenessReadyEvent(JSON.stringify(message)),\n );\n}\n\nexport function encodeRuntimeHeartbeatEvent(\n message: RuntimeHeartbeatEvent,\n): string {\n return JSON.stringify(decodeRuntimeHeartbeatEvent(JSON.stringify(message)));\n}\n\nexport function encodeRuntimeHeartbeatAckEvent(\n message: RuntimeHeartbeatAckEvent,\n): string {\n return JSON.stringify(\n decodeRuntimeHeartbeatAckEvent(JSON.stringify(message)),\n );\n}\n\nexport function encodeSessionStartedEvent(\n message: SessionStartedEvent,\n): string {\n return JSON.stringify(decodeSessionStartedEvent(JSON.stringify(message)));\n}\n\nexport function encodeAgentMessageDeltaEvent(\n message: AgentMessageDeltaEvent,\n): string {\n return JSON.stringify(decodeAgentMessageDeltaEvent(JSON.stringify(message)));\n}\n\nexport function encodeAgentActivityEvent(message: AgentActivityEvent): string {\n return JSON.stringify(decodeAgentActivityEvent(JSON.stringify(message)));\n}\n\nexport function encodeSessionCompletedEvent(\n message: SessionCompletedEvent,\n): string {\n return JSON.stringify(decodeSessionCompletedEvent(JSON.stringify(message)));\n}\n\nexport function encodeSessionFailedEvent(message: SessionFailedEvent): string {\n return JSON.stringify(decodeSessionFailedEvent(JSON.stringify(message)));\n}\n", "import { spawn } from \"node:child_process\";\nimport { once } from \"node:events\";\n\nimport {\n type AgentCapabilities,\n type ClientConnection,\n type CompleteElicitationNotification,\n type ContentBlock,\n type CreateElicitationRequest,\n type CreateElicitationResponse,\n type ElicitationContentValue,\n methods,\n ndJsonStream,\n PROTOCOL_VERSION,\n type RequestPermissionRequest,\n type RequestPermissionResponse,\n type SessionNotification,\n} from \"@agentclientprotocol/sdk\";\nimport {\n AGENT_CONTENT_KIND,\n type AgentContentEvent,\n MOBIUS_PROTOCOL_VERSION,\n type PromptImage,\n type PromptResource,\n SESSION_COMMANDS_UPDATED_KIND,\n SESSION_CONFIG_UPDATED_KIND,\n SESSION_ELICITATION_REQUESTED_KIND,\n SESSION_ELICITATION_RESOLVED_KIND,\n SESSION_INFO_UPDATED_KIND,\n SESSION_PERMISSION_REQUESTED_KIND,\n SESSION_PERMISSION_RESOLVED_KIND,\n SESSION_USAGE_UPDATED_KIND,\n type SessionCapabilities,\n type SessionCommand,\n type SessionCommandsUpdatedEvent,\n type SessionConfigOption,\n type SessionConfigUpdatedEvent,\n type SessionConfigValue,\n type SessionElicitationField,\n type SessionElicitationOption,\n type SessionElicitationRequestedEvent,\n type SessionElicitationResolvedEvent,\n type SessionInfoUpdatedEvent,\n type SessionPermissionOption,\n type SessionPermissionRequestedEvent,\n type SessionPermissionResolvedEvent,\n type SessionUsageUpdatedEvent,\n} from \"@moxt-ai/mobius-protocol\";\n\nimport type { LocalAgentDefinition } from \"../config.ts\";\nimport {\n type AcpActivity,\n AcpActivityTracker,\n isProgressMessage,\n normalizeContentBlock,\n} from \"./activity.ts\";\nimport { type AcpClientHandler, createAcpClient } from \"./create-client.ts\";\nimport {\n type AcpSessionStore,\n AcpStoredSession,\n FoundAcpStoredSession,\n MemoryAcpSessionStore,\n} from \"./session-store.ts\";\n\nconst PROCESS_STOP_TIMEOUT_MILLISECONDS = 1_000;\nconst SESSION_CONTROL_COMMAND_ID = \"session-control\";\n\nexport interface AcpPrepareOptions {\n readonly additionalDirectories: readonly string[];\n readonly agent: LocalAgentDefinition;\n readonly cwd: string;\n readonly sessionId: string;\n readonly signal: AbortSignal;\n}\n\nexport interface AcpConfigureOptions extends AcpPrepareOptions {\n readonly booleanValue: boolean;\n readonly configId: string;\n readonly requestId: string;\n readonly value: string;\n readonly valueType: SessionConfigOption[\"type\"];\n}\n\nexport interface AcpTurnOptions extends AcpPrepareOptions {\n readonly commandId: string;\n readonly images: readonly PromptImage[];\n readonly onActivity: (activity: AcpActivity) => Promise<void>;\n readonly onText: (text: string) => Promise<void>;\n readonly prompt: string;\n readonly resources: readonly PromptResource[];\n}\n\nexport interface AcpPermissionResponseOptions {\n readonly interactionId: string;\n readonly optionId: string;\n readonly outcome: SessionPermissionResolvedEvent[\"outcome\"];\n readonly sessionId: string;\n}\n\nexport interface AcpElicitationResponseOptions {\n readonly action: SessionElicitationResolvedEvent[\"action\"];\n readonly content: string;\n readonly interactionId: string;\n readonly sessionId: string;\n}\n\nexport interface AcpPromptResult {\n readonly stopReason: string;\n}\n\nexport interface AcpSessionObserver {\n readonly onCommands: (event: SessionCommandsUpdatedEvent) => Promise<void>;\n readonly onConfig: (event: SessionConfigUpdatedEvent) => Promise<void>;\n readonly onContent: (event: AgentContentEvent) => Promise<void>;\n readonly onElicitation: (\n event: SessionElicitationRequestedEvent,\n ) => Promise<void>;\n readonly onElicitationResolved: (\n event: SessionElicitationResolvedEvent,\n ) => Promise<void>;\n readonly onInfo: (event: SessionInfoUpdatedEvent) => Promise<void>;\n readonly onPermission: (\n event: SessionPermissionRequestedEvent,\n ) => Promise<void>;\n readonly onPermissionResolved: (\n event: SessionPermissionResolvedEvent,\n ) => Promise<void>;\n readonly onUsage: (event: SessionUsageUpdatedEvent) => Promise<void>;\n}\n\nexport class NullAcpSessionObserver implements AcpSessionObserver {\n readonly onCommands = (): Promise<void> => Promise.resolve();\n readonly onConfig = (): Promise<void> => Promise.resolve();\n readonly onContent = (): Promise<void> => Promise.resolve();\n readonly onElicitation = (): Promise<void> => Promise.resolve();\n readonly onElicitationResolved = (): Promise<void> => Promise.resolve();\n readonly onInfo = (): Promise<void> => Promise.resolve();\n readonly onPermission = (): Promise<void> => Promise.resolve();\n readonly onPermissionResolved = (): Promise<void> => Promise.resolve();\n readonly onUsage = (): Promise<void> => Promise.resolve();\n}\n\nexport class AcpPreparedSession {\n readonly agentName: string;\n readonly agentVersion: string;\n readonly capabilities: SessionCapabilities;\n readonly commands: readonly SessionCommand[];\n readonly configOptions: readonly SessionConfigOption[];\n readonly restored: boolean;\n\n constructor(\n agentName: string,\n agentVersion: string,\n capabilities: SessionCapabilities,\n commands: readonly SessionCommand[],\n configOptions: readonly SessionConfigOption[],\n restored: boolean,\n ) {\n this.agentName = agentName;\n this.agentVersion = agentVersion;\n this.capabilities = capabilities;\n this.commands = commands;\n this.configOptions = configOptions;\n this.restored = restored;\n }\n}\n\nexport class AcpExecutionError extends Error {\n readonly code: string;\n\n constructor(\n message: string,\n options: ErrorOptions = {},\n code = \"acp_execution_failed\",\n ) {\n super(message, options);\n this.code = code;\n this.name = \"AcpExecutionError\";\n }\n}\n\nfunction readableWebStream(\n input: NodeJS.ReadableStream,\n): ReadableStream<Uint8Array> {\n let streamOpen = true;\n return new ReadableStream<Uint8Array>({\n start(controller) {\n input.on(\"data\", (chunk: unknown) => {\n if (!streamOpen) {\n return;\n }\n if (chunk instanceof Uint8Array) {\n controller.enqueue(new Uint8Array(chunk));\n return;\n }\n streamOpen = false;\n controller.error(new Error(\"ACP process produced a non-binary chunk\"));\n });\n input.once(\"end\", () => {\n if (!streamOpen) {\n return;\n }\n streamOpen = false;\n controller.close();\n });\n input.once(\"error\", (error) => {\n if (!streamOpen) {\n return;\n }\n streamOpen = false;\n controller.error(error);\n });\n },\n cancel() {\n streamOpen = false;\n },\n });\n}\n\nexport function createWritableAcpStream(\n output: NodeJS.WritableStream,\n): WritableStream<Uint8Array> {\n let outputFailure: unknown;\n const pendingWriteFailures = new Set<(error: unknown) => void>();\n const fail = (error: unknown): void => {\n outputFailure = error;\n for (const reject of pendingWriteFailures) {\n reject(error);\n }\n pendingWriteFailures.clear();\n };\n output.on(\"error\", fail);\n output.once(\"close\", () => {\n if (outputFailure === undefined) {\n fail(new Error(\"ACP process input closed\"));\n }\n });\n return new WritableStream<Uint8Array>({\n write(chunk) {\n if (outputFailure !== undefined) {\n return Promise.reject(outputFailure);\n }\n return new Promise<void>((resolve, reject) => {\n pendingWriteFailures.add(reject);\n output.write(chunk, (error) => {\n pendingWriteFailures.delete(reject);\n if (error) {\n outputFailure = error;\n reject(error);\n return;\n }\n if (outputFailure !== undefined) {\n reject(outputFailure);\n return;\n }\n resolve();\n });\n });\n },\n });\n}\n\nasync function stopAgentProcess(\n child: ReturnType<typeof spawn>,\n): Promise<void> {\n child.stdin?.end();\n if (child.exitCode !== null) {\n return;\n }\n child.kill(\"SIGTERM\");\n try {\n await once(child, \"exit\", {\n signal: AbortSignal.timeout(PROCESS_STOP_TIMEOUT_MILLISECONDS),\n });\n } catch {\n if (child.exitCode === null) {\n child.kill(\"SIGKILL\");\n try {\n await once(child, \"exit\", {\n signal: AbortSignal.timeout(PROCESS_STOP_TIMEOUT_MILLISECONDS),\n });\n } catch {\n // Teardown must not wait forever for a process the OS did not reap.\n }\n }\n }\n}\n\nfunction truncate(value: string, maximumLength: number): string {\n return value.length <= maximumLength\n ? value\n : `${value.slice(0, Math.max(0, maximumLength - 1))}\u2026`;\n}\n\nfunction isRecord(value: unknown): value is Readonly<Record<string, unknown>> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction readString(value: unknown, fallback = \"\"): string {\n return typeof value === \"string\" ? value : fallback;\n}\n\nfunction readBoolean(value: unknown, fallback = false): boolean {\n return typeof value === \"boolean\" ? value : fallback;\n}\n\nfunction arraysEqual(\n left: readonly string[],\n right: readonly string[],\n): boolean {\n return (\n left.length === right.length &&\n left.every((value, index) => value === right[index])\n );\n}\n\nfunction normalizeConfigValue(\n option: Readonly<Record<string, unknown>>,\n groupId = \"\",\n groupName = \"\",\n): SessionConfigValue {\n return {\n description: truncate(readString(option[\"description\"]), 500),\n groupId: truncate(groupId, 128),\n groupName: truncate(groupName, 255),\n name: truncate(\n readString(option[\"name\"], readString(option[\"value\"])),\n 255,\n ),\n value: truncate(readString(option[\"value\"]), 500),\n };\n}\n\nfunction normalizeConfigValues(value: unknown): readonly SessionConfigValue[] {\n if (!Array.isArray(value)) {\n return [];\n }\n const normalized: SessionConfigValue[] = [];\n for (const entry of value) {\n if (!isRecord(entry)) {\n continue;\n }\n const groupedOptions = entry[\"options\"];\n if (Array.isArray(groupedOptions)) {\n const groupId = readString(entry[\"group\"]);\n const groupName = readString(entry[\"name\"]);\n for (const groupedOption of groupedOptions) {\n if (isRecord(groupedOption)) {\n normalized.push(\n normalizeConfigValue(groupedOption, groupId, groupName),\n );\n }\n }\n continue;\n }\n normalized.push(normalizeConfigValue(entry));\n }\n return normalized.filter((entry) => entry.value.length > 0).slice(0, 500);\n}\n\nfunction normalizeConfigOptions(\n value: unknown,\n modes: unknown,\n): readonly SessionConfigOption[] {\n const normalized: SessionConfigOption[] = [];\n if (Array.isArray(value)) {\n for (const option of value) {\n if (!isRecord(option)) {\n continue;\n }\n const id = truncate(readString(option[\"id\"]), 128);\n const name = truncate(readString(option[\"name\"], id), 255);\n if (id.length === 0 || name.length === 0) {\n continue;\n }\n if (option[\"type\"] === \"boolean\") {\n normalized.push({\n booleanValue: readBoolean(option[\"currentValue\"]),\n category: truncate(readString(option[\"category\"]), 128),\n currentValue: \"\",\n description: truncate(readString(option[\"description\"]), 500),\n id,\n name,\n type: \"boolean\",\n values: [],\n });\n continue;\n }\n if (option[\"type\"] === \"select\") {\n const values = normalizeConfigValues(option[\"options\"]);\n const currentValue = truncate(readString(option[\"currentValue\"]), 500);\n if (\n currentValue.length > 0 &&\n values.some((entry) => entry.value === currentValue)\n ) {\n normalized.push({\n booleanValue: false,\n category: truncate(readString(option[\"category\"]), 128),\n currentValue,\n description: truncate(readString(option[\"description\"]), 500),\n id,\n name,\n type: \"select\",\n values,\n });\n }\n }\n }\n }\n if (isRecord(modes)) {\n const values: SessionConfigValue[] = [];\n const availableModes = modes[\"availableModes\"];\n if (Array.isArray(availableModes)) {\n for (const mode of availableModes) {\n if (!isRecord(mode)) {\n continue;\n }\n const id = truncate(readString(mode[\"id\"]), 500);\n if (id.length === 0) {\n continue;\n }\n values.push({\n description: truncate(readString(mode[\"description\"]), 500),\n groupId: \"\",\n groupName: \"\",\n name: truncate(readString(mode[\"name\"], id), 255),\n value: id,\n });\n }\n }\n const currentValue = truncate(readString(modes[\"currentModeId\"]), 500);\n if (\n currentValue.length > 0 &&\n values.some((entry) => entry.value === currentValue) &&\n !normalized.some((entry) => entry.category === \"mode\")\n ) {\n normalized.unshift({\n booleanValue: false,\n category: \"mode\",\n currentValue,\n description: \"Agent session mode\",\n id: \"mode\",\n name: \"Mode\",\n type: \"select\",\n values,\n });\n }\n }\n return normalized.slice(0, 100);\n}\n\nfunction replaceConfigOptionsKeepingMode(\n current: readonly SessionConfigOption[],\n value: unknown,\n): readonly SessionConfigOption[] {\n const next = normalizeConfigOptions(value, undefined);\n if (next.some((option) => option.category === \"mode\")) {\n return next;\n }\n return [\n ...current.filter((option) => option.category === \"mode\"),\n ...next,\n ].slice(0, 100);\n}\n\nfunction normalizeCapabilities(\n capabilities: AgentCapabilities,\n): SessionCapabilities {\n const session = capabilities.sessionCapabilities;\n const prompt = capabilities.promptCapabilities;\n return {\n additionalDirectories: session?.additionalDirectories != null,\n audioPrompt: prompt?.audio === true,\n closeSession: session?.close != null,\n deleteSession: session?.delete != null,\n embeddedContextPrompt: prompt?.embeddedContext === true,\n imagePrompt: prompt?.image === true,\n listSessions: session?.list != null,\n loadSession: capabilities.loadSession === true,\n resumeSession: session?.resume != null,\n };\n}\n\nfunction elicitationFieldType(value: unknown): SessionElicitationField[\"type\"] {\n if (value === \"boolean\") {\n return \"boolean\";\n }\n if (value === \"integer\") {\n return \"integer\";\n }\n if (value === \"number\") {\n return \"number\";\n }\n if (value === \"array\") {\n return \"multiselect\";\n }\n return \"string\";\n}\n\nfunction normalizeElicitationOptions(\n schema: Readonly<Record<string, unknown>>,\n): readonly SessionElicitationOption[] {\n const normalized: SessionElicitationOption[] = [];\n const oneOf = schema[\"oneOf\"];\n if (Array.isArray(oneOf)) {\n for (const option of oneOf) {\n if (isRecord(option) && typeof option[\"const\"] === \"string\") {\n normalized.push({\n description: truncate(readString(option[\"description\"]), 500),\n label: truncate(readString(option[\"title\"], option[\"const\"]), 255),\n value: truncate(option[\"const\"], 500),\n });\n }\n }\n return normalized.slice(0, 200);\n }\n const enumValues = schema[\"enum\"];\n if (Array.isArray(enumValues)) {\n for (const entry of enumValues) {\n if (typeof entry === \"string\") {\n normalized.push({ description: \"\", label: entry, value: entry });\n }\n }\n return normalized.slice(0, 200);\n }\n const items = schema[\"items\"];\n if (!isRecord(items)) {\n return normalized;\n }\n const anyOf = items[\"anyOf\"];\n if (Array.isArray(anyOf)) {\n return normalizeElicitationOptions({ oneOf: anyOf });\n }\n return normalizeElicitationOptions({ enum: items[\"enum\"] });\n}\n\nfunction numericString(value: unknown): string {\n return typeof value === \"number\" && Number.isFinite(value)\n ? value.toString()\n : \"\";\n}\n\nfunction normalizeElicitationFields(\n requestedSchema: unknown,\n): readonly SessionElicitationField[] {\n if (!isRecord(requestedSchema) || !isRecord(requestedSchema[\"properties\"])) {\n return [];\n }\n const properties = requestedSchema[\"properties\"];\n const requiredValues = requestedSchema[\"required\"];\n const required = new Set<string>(\n Array.isArray(requiredValues)\n ? requiredValues.filter((entry) => typeof entry === \"string\")\n : [],\n );\n const normalized: SessionElicitationField[] = [];\n for (const [name, property] of Object.entries(properties)) {\n if (!isRecord(property)) {\n continue;\n }\n const type = elicitationFieldType(property[\"type\"]);\n const options = normalizeElicitationOptions(property);\n const normalizedType =\n type === \"string\" && options.length > 0 ? \"select\" : type;\n const defaultValue = property[\"default\"];\n normalized.push({\n defaultBooleanValue:\n typeof defaultValue === \"boolean\" ? defaultValue : false,\n defaultNumberValue:\n typeof defaultValue === \"number\" && Number.isFinite(defaultValue)\n ? defaultValue\n : 0,\n defaultStringValue:\n typeof defaultValue === \"string\"\n ? truncate(defaultValue, 10_000)\n : Array.isArray(defaultValue)\n ? truncate(JSON.stringify(defaultValue), 10_000)\n : \"\",\n description: truncate(readString(property[\"description\"]), 500),\n format: truncate(readString(property[\"format\"]), 64),\n hasDefaultValue: defaultValue !== undefined && defaultValue !== null,\n maximum: numericString(property[\"maximum\"]),\n maximumLength: numericString(\n property[\"maxLength\"] ?? property[\"maxItems\"],\n ),\n minimum: numericString(property[\"minimum\"]),\n minimumLength: numericString(\n property[\"minLength\"] ?? property[\"minItems\"],\n ),\n name: truncate(name, 128),\n options,\n pattern: truncate(readString(property[\"pattern\"]), 500),\n required: required.has(name),\n title: truncate(readString(property[\"title\"], name), 255),\n type: normalizedType,\n });\n }\n return normalized.slice(0, 100);\n}\n\nfunction validateStringValue(\n name: string,\n value: string,\n schema: Readonly<Record<string, unknown>>,\n): void {\n const minimum = schema[\"minLength\"];\n const maximum = schema[\"maxLength\"];\n if (typeof minimum === \"number\" && value.length < minimum) {\n throw new AcpExecutionError(\n `Elicitation field ${name} is shorter than allowed`,\n {},\n \"invalid_elicitation_response\",\n );\n }\n if (typeof maximum === \"number\" && value.length > maximum) {\n throw new AcpExecutionError(\n `Elicitation field ${name} is longer than allowed`,\n {},\n \"invalid_elicitation_response\",\n );\n }\n const pattern = schema[\"pattern\"];\n if (typeof pattern === \"string\" && !new RegExp(pattern, \"u\").test(value)) {\n throw new AcpExecutionError(\n `Elicitation field ${name} does not match the required format`,\n {},\n \"invalid_elicitation_response\",\n );\n }\n const allowed = normalizeElicitationOptions(schema);\n if (allowed.length > 0 && !allowed.some((entry) => entry.value === value)) {\n throw new AcpExecutionError(\n `Elicitation field ${name} is not an allowed value`,\n {},\n \"invalid_elicitation_response\",\n );\n }\n}\n\nfunction validateNumericValue(\n name: string,\n value: number,\n schema: Readonly<Record<string, unknown>>,\n integer: boolean,\n): void {\n if (!Number.isFinite(value) || (integer && !Number.isInteger(value))) {\n throw new AcpExecutionError(\n `Elicitation field ${name} is not a valid number`,\n {},\n \"invalid_elicitation_response\",\n );\n }\n const minimum = schema[\"minimum\"];\n const maximum = schema[\"maximum\"];\n if (\n (typeof minimum === \"number\" && value < minimum) ||\n (typeof maximum === \"number\" && value > maximum)\n ) {\n throw new AcpExecutionError(\n `Elicitation field ${name} is outside the allowed range`,\n {},\n \"invalid_elicitation_response\",\n );\n }\n}\n\nfunction validateElicitationContent(\n encoded: string,\n requestedSchema: unknown,\n): Readonly<Record<string, ElicitationContentValue>> {\n let decoded: unknown;\n try {\n decoded = JSON.parse(encoded);\n } catch (error) {\n throw new AcpExecutionError(\n \"Elicitation response is not valid JSON\",\n { cause: error },\n \"invalid_elicitation_response\",\n );\n }\n if (\n !isRecord(decoded) ||\n !isRecord(requestedSchema) ||\n !isRecord(requestedSchema[\"properties\"])\n ) {\n throw new AcpExecutionError(\n \"Elicitation response does not match the requested form\",\n {},\n \"invalid_elicitation_response\",\n );\n }\n const properties = requestedSchema[\"properties\"];\n const requiredValue = requestedSchema[\"required\"];\n const required = new Set<string>(\n Array.isArray(requiredValue)\n ? requiredValue.filter((entry) => typeof entry === \"string\")\n : [],\n );\n for (const name of required) {\n if (!(name in decoded)) {\n throw new AcpExecutionError(\n `Elicitation field ${name} is required`,\n {},\n \"invalid_elicitation_response\",\n );\n }\n }\n const validated: Record<string, ElicitationContentValue> = {};\n for (const [name, value] of Object.entries(decoded)) {\n const property = properties[name];\n if (!isRecord(property)) {\n throw new AcpExecutionError(\n `Elicitation field ${name} was not requested`,\n {},\n \"invalid_elicitation_response\",\n );\n }\n if (property[\"type\"] === \"string\" && typeof value === \"string\") {\n validateStringValue(name, value, property);\n validated[name] = value;\n continue;\n }\n if (property[\"type\"] === \"number\" && typeof value === \"number\") {\n validateNumericValue(name, value, property, false);\n validated[name] = value;\n continue;\n }\n if (property[\"type\"] === \"integer\" && typeof value === \"number\") {\n validateNumericValue(name, value, property, true);\n validated[name] = value;\n continue;\n }\n if (property[\"type\"] === \"boolean\" && typeof value === \"boolean\") {\n validated[name] = value;\n continue;\n }\n if (\n property[\"type\"] === \"array\" &&\n Array.isArray(value) &&\n value.every((entry) => typeof entry === \"string\")\n ) {\n const minimum = property[\"minItems\"];\n const maximum = property[\"maxItems\"];\n if (\n (typeof minimum === \"number\" && value.length < minimum) ||\n (typeof maximum === \"number\" && value.length > maximum)\n ) {\n throw new AcpExecutionError(\n `Elicitation field ${name} has an invalid selection count`,\n {},\n \"invalid_elicitation_response\",\n );\n }\n const allowed = normalizeElicitationOptions(property);\n if (\n allowed.length > 0 &&\n value.some((entry) => !allowed.some((option) => option.value === entry))\n ) {\n throw new AcpExecutionError(\n `Elicitation field ${name} contains an invalid selection`,\n {},\n \"invalid_elicitation_response\",\n );\n }\n validated[name] = value;\n continue;\n }\n throw new AcpExecutionError(\n `Elicitation field ${name} has the wrong type`,\n {},\n \"invalid_elicitation_response\",\n );\n }\n return validated;\n}\n\nabstract class AcpTurnState {\n abstract readonly commandId: string;\n abstract readonly running: boolean;\n abstract readonly activities: AcpActivityTracker;\n abstract readonly onText: (text: string) => Promise<void>;\n}\n\nclass IdleAcpTurn extends AcpTurnState {\n readonly commandId = SESSION_CONTROL_COMMAND_ID;\n readonly running = false;\n readonly activities = new AcpActivityTracker(() => Promise.resolve());\n readonly onText = (): Promise<void> => Promise.resolve();\n}\n\nclass RunningAcpTurn extends AcpTurnState {\n readonly commandId: string;\n readonly running = true;\n readonly activities: AcpActivityTracker;\n readonly onText: (text: string) => Promise<void>;\n\n constructor(\n commandId: string,\n onActivity: (activity: AcpActivity) => Promise<void>,\n onText: (text: string) => Promise<void>,\n ) {\n super();\n this.commandId = commandId;\n this.activities = new AcpActivityTracker(onActivity);\n this.onText = onText;\n }\n}\n\nclass PendingPermission {\n readonly completion = Promise.withResolvers<RequestPermissionResponse>();\n readonly interactionId: string;\n readonly optionIds: ReadonlySet<string>;\n #settled = false;\n\n constructor(interactionId: string, optionIds: ReadonlySet<string>) {\n this.interactionId = interactionId;\n this.optionIds = optionIds;\n }\n\n readonly cancel = (): boolean => {\n if (this.#settled) {\n return false;\n }\n this.#settled = true;\n this.completion.resolve({ outcome: { outcome: \"cancelled\" } });\n return true;\n };\n\n readonly select = (optionId: string): boolean => {\n if (this.#settled) {\n return false;\n }\n this.#settled = true;\n this.completion.resolve({\n outcome: { optionId, outcome: \"selected\" },\n });\n return true;\n };\n}\n\nclass PendingElicitation {\n readonly completion = Promise.withResolvers<CreateElicitationResponse>();\n readonly elicitationId: string;\n readonly interactionId: string;\n readonly requestedSchema: unknown;\n #settled = false;\n\n constructor(\n interactionId: string,\n elicitationId: string,\n requestedSchema: unknown,\n ) {\n this.elicitationId = elicitationId;\n this.interactionId = interactionId;\n this.requestedSchema = requestedSchema;\n }\n\n readonly accept = (\n content: Readonly<Record<string, ElicitationContentValue>>,\n ): boolean => {\n if (this.#settled) {\n return false;\n }\n this.#settled = true;\n this.completion.resolve({ action: \"accept\", content });\n return true;\n };\n\n readonly cancel = (): boolean => {\n if (this.#settled) {\n return false;\n }\n this.#settled = true;\n this.completion.resolve({ action: \"cancel\" });\n return true;\n };\n\n readonly decline = (): boolean => {\n if (this.#settled) {\n return false;\n }\n this.#settled = true;\n this.completion.resolve({ action: \"decline\" });\n return true;\n };\n}\n\nclass AcpProcessSession implements AcpClientHandler {\n readonly #additionalDirectories: readonly string[];\n readonly #acceptedUrlElicitations = new Map<string, string>();\n readonly #agentId: string;\n readonly #child: ReturnType<typeof spawn>;\n readonly #connection: ClientConnection;\n readonly #cwd: string;\n readonly #getObserver: () => AcpSessionObserver;\n readonly #mobiusSessionId: string;\n readonly #pendingElicitations = new Map<string, PendingElicitation>();\n readonly #pendingPermissions = new Map<string, PendingPermission>();\n readonly #processExit: Promise<void>;\n readonly #store: AcpSessionStore;\n #agentName = \"\";\n #agentVersion = \"\";\n #capabilities: SessionCapabilities = {\n additionalDirectories: false,\n audioPrompt: false,\n closeSession: false,\n deleteSession: false,\n embeddedContextPrompt: false,\n imagePrompt: false,\n listSessions: false,\n loadSession: false,\n resumeSession: false,\n };\n #commands: readonly SessionCommand[] = [];\n #configOptions: readonly SessionConfigOption[] = [];\n #nativeSessionId = \"\";\n #prompted = false;\n #replaying = false;\n #restored = false;\n #sessionTitle = \"\";\n #sessionUpdatedAt = \"\";\n #turn: AcpTurnState = new IdleAcpTurn();\n #updateTail: Promise<void> = Promise.resolve();\n\n private constructor(\n agent: LocalAgentDefinition,\n cwd: string,\n additionalDirectories: readonly string[],\n mobiusSessionId: string,\n getObserver: () => AcpSessionObserver,\n store: AcpSessionStore,\n ) {\n this.#additionalDirectories = [...additionalDirectories];\n this.#agentId = agent.id;\n this.#cwd = cwd;\n this.#getObserver = getObserver;\n this.#mobiusSessionId = mobiusSessionId;\n this.#store = store;\n this.#child = spawn(agent.command, [...agent.arguments], {\n cwd,\n stdio: [\"pipe\", \"pipe\", \"pipe\"],\n });\n const stdin = this.#child.stdin;\n const stdout = this.#child.stdout;\n const stderr = this.#child.stderr;\n if (stdin === null || stdout === null || stderr === null) {\n this.#child.kill(\"SIGKILL\");\n throw new AcpExecutionError(\"ACP process streams are unavailable\");\n }\n stderr.setEncoding(\"utf8\");\n stderr.on(\"data\", (chunk: string) => {\n process.stderr.write(`[${agent.id}-acp] ${chunk}`);\n });\n this.#processExit = new Promise<void>((resolve) => {\n this.#child.once(\"error\", resolve);\n this.#child.once(\"exit\", resolve);\n });\n const stream = ndJsonStream(\n createWritableAcpStream(stdin),\n readableWebStream(stdout),\n );\n this.#connection = createAcpClient(this).connect(stream);\n }\n\n static readonly start = async (\n options: AcpPrepareOptions,\n getObserver: () => AcpSessionObserver,\n store: AcpSessionStore,\n ): Promise<AcpProcessSession> => {\n options.signal.throwIfAborted();\n const runtime = new AcpProcessSession(\n options.agent,\n options.cwd,\n options.additionalDirectories,\n options.sessionId,\n getObserver,\n store,\n );\n try {\n await runtime.initialize(options.signal);\n return runtime;\n } catch (error) {\n await runtime.closeProcess();\n if (error instanceof AcpExecutionError) {\n throw error;\n }\n throw new AcpExecutionError(\"ACP agent initialization failed\", {\n cause: error,\n });\n }\n };\n\n readonly belongsTo = (\n agentId: string,\n cwd: string,\n additionalDirectories: readonly string[],\n ): boolean =>\n this.#agentId === agentId &&\n this.#cwd === cwd &&\n arraysEqual(this.#additionalDirectories, additionalDirectories);\n\n readonly canRebind = (): boolean => !this.#prompted && !this.#turn.running;\n\n readonly prepared = (): AcpPreparedSession =>\n new AcpPreparedSession(\n this.#agentName,\n this.#agentVersion,\n this.#capabilities,\n this.#commands,\n this.#configOptions,\n this.#restored,\n );\n\n readonly initialize = async (signal: AbortSignal): Promise<void> => {\n const initialized = await this.race(\n this.#connection.agent.request(\n methods.agent.initialize,\n {\n clientCapabilities: {\n elicitation: { form: {}, url: {} },\n plan: {},\n session: { configOptions: { boolean: {} } },\n },\n clientInfo: { name: \"mobius\", version: \"0.0.2\" },\n protocolVersion: PROTOCOL_VERSION,\n },\n { cancellationSignal: signal },\n ),\n \"ACP agent exited during initialization\",\n signal,\n );\n if (initialized.protocolVersion !== PROTOCOL_VERSION) {\n throw new AcpExecutionError(\n \"ACP agent selected an unsupported protocol version\",\n {},\n \"unsupported_acp_protocol\",\n );\n }\n const capabilities = initialized.agentCapabilities ?? {};\n this.#capabilities = normalizeCapabilities(capabilities);\n this.#agentName = truncate(\n initialized.agentInfo?.title ??\n initialized.agentInfo?.name ??\n this.#agentId,\n 255,\n );\n this.#agentVersion = truncate(initialized.agentInfo?.version ?? \"\", 128);\n const stored = this.#store.read(this.#mobiusSessionId);\n let lifecycleResponse: unknown;\n if (\n stored instanceof FoundAcpStoredSession &&\n stored.session.agentId === this.#agentId &&\n stored.session.cwd === this.#cwd &&\n arraysEqual(\n stored.session.additionalDirectories,\n this.#additionalDirectories,\n )\n ) {\n this.#nativeSessionId = stored.session.nativeSessionId;\n this.#prompted = stored.session.prompted;\n this.#restored = true;\n if (this.#capabilities.resumeSession) {\n lifecycleResponse = await this.race(\n this.#connection.agent.request(\n methods.agent.session.resume,\n {\n additionalDirectories: [...this.#additionalDirectories],\n cwd: this.#cwd,\n mcpServers: [],\n sessionId: this.#nativeSessionId,\n },\n { cancellationSignal: signal },\n ),\n \"ACP agent exited while resuming a session\",\n signal,\n );\n } else if (this.#capabilities.loadSession) {\n this.#replaying = true;\n try {\n lifecycleResponse = await this.race(\n this.#connection.agent.request(\n methods.agent.session.load,\n {\n additionalDirectories: [...this.#additionalDirectories],\n cwd: this.#cwd,\n mcpServers: [],\n sessionId: this.#nativeSessionId,\n },\n { cancellationSignal: signal },\n ),\n \"ACP agent exited while loading a session\",\n signal,\n );\n } finally {\n this.#replaying = false;\n }\n } else {\n throw new AcpExecutionError(\n \"The ACP agent cannot restore its persisted session\",\n {},\n \"session_restore_unsupported\",\n );\n }\n } else {\n if (stored instanceof FoundAcpStoredSession) {\n if (stored.session.prompted) {\n throw new AcpExecutionError(\n \"The agent or workspace cannot change after a conversation has started\",\n {},\n \"session_identity_mismatch\",\n );\n }\n this.#store.remove(this.#mobiusSessionId);\n }\n const created = await this.race(\n this.#connection.agent.request(\n methods.agent.session.new,\n {\n additionalDirectories: [...this.#additionalDirectories],\n cwd: this.#cwd,\n mcpServers: [],\n },\n { cancellationSignal: signal },\n ),\n \"ACP agent exited while starting a session\",\n signal,\n );\n this.#nativeSessionId = created.sessionId;\n lifecycleResponse = created;\n this.#store.write(\n new AcpStoredSession(\n this.#mobiusSessionId,\n this.#agentId,\n this.#nativeSessionId,\n this.#cwd,\n this.#additionalDirectories,\n false,\n ),\n );\n }\n const lifecycleRecord = isRecord(lifecycleResponse)\n ? lifecycleResponse\n : {};\n this.#configOptions = normalizeConfigOptions(\n lifecycleRecord[\"configOptions\"],\n lifecycleRecord[\"modes\"],\n );\n await this.#updateTail;\n signal.throwIfAborted();\n };\n\n readonly configure = async (\n options: AcpConfigureOptions,\n ): Promise<readonly SessionConfigOption[]> => {\n const existing = this.#configOptions.find(\n (option) => option.id === options.configId,\n );\n if (existing === undefined || existing.type !== options.valueType) {\n throw new AcpExecutionError(\n \"The requested ACP configuration option is unavailable\",\n {},\n \"invalid_session_configuration\",\n );\n }\n if (existing.type === \"select\") {\n if (!existing.values.some((entry) => entry.value === options.value)) {\n throw new AcpExecutionError(\n \"The requested ACP configuration value is unavailable\",\n {},\n \"invalid_session_configuration\",\n );\n }\n if (existing.category === \"mode\") {\n await this.race(\n this.#connection.agent.request(\n methods.agent.session.setMode,\n { modeId: options.value, sessionId: this.#nativeSessionId },\n { cancellationSignal: options.signal },\n ),\n \"ACP agent exited while setting the session mode\",\n options.signal,\n );\n this.#configOptions = this.#configOptions.map((option) =>\n option.id === existing.id\n ? { ...option, currentValue: options.value }\n : option,\n );\n } else {\n const response = await this.race(\n this.#connection.agent.request(\n methods.agent.session.setConfigOption,\n {\n configId: existing.id,\n sessionId: this.#nativeSessionId,\n value: options.value,\n },\n { cancellationSignal: options.signal },\n ),\n \"ACP agent exited while changing session configuration\",\n options.signal,\n );\n this.#configOptions = replaceConfigOptionsKeepingMode(\n this.#configOptions,\n response.configOptions,\n );\n }\n } else {\n const response = await this.race(\n this.#connection.agent.request(\n methods.agent.session.setConfigOption,\n {\n configId: existing.id,\n sessionId: this.#nativeSessionId,\n type: \"boolean\",\n value: options.booleanValue,\n },\n { cancellationSignal: options.signal },\n ),\n \"ACP agent exited while changing session configuration\",\n options.signal,\n );\n this.#configOptions = replaceConfigOptionsKeepingMode(\n this.#configOptions,\n response.configOptions,\n );\n }\n return this.#configOptions;\n };\n\n readonly prompt = async (\n options: AcpTurnOptions,\n ): Promise<AcpPromptResult> => {\n if (this.#turn.running) {\n throw new AcpExecutionError(\n \"Another prompt is already running in this conversation\",\n {},\n \"session_busy\",\n );\n }\n if (options.images.length > 0 && !this.#capabilities.imagePrompt) {\n throw new AcpExecutionError(\n \"The selected agent does not accept image prompts\",\n {},\n \"unsupported_prompt_content\",\n );\n }\n if (\n options.resources.some((resource) => resource.type === \"embedded\") &&\n !this.#capabilities.embeddedContextPrompt\n ) {\n throw new AcpExecutionError(\n \"The selected agent does not accept embedded context\",\n {},\n \"unsupported_prompt_content\",\n );\n }\n const prompt: ContentBlock[] = [];\n if (options.prompt.length > 0) {\n prompt.push({ text: options.prompt, type: \"text\" });\n }\n for (const image of options.images) {\n prompt.push({\n _meta: { mobius: { name: image.name } },\n data: image.data,\n mimeType: image.mimeType,\n type: \"image\",\n });\n }\n for (const resource of options.resources) {\n if (resource.type === \"embedded\") {\n prompt.push({\n resource: {\n mimeType: resource.mimeType,\n text: resource.text,\n uri: resource.uri,\n },\n type: \"resource\",\n });\n } else {\n prompt.push({\n mimeType: resource.mimeType,\n name: resource.name,\n type: \"resource_link\",\n uri: resource.uri,\n });\n }\n }\n if (prompt.length === 0) {\n throw new AcpExecutionError(\n \"A prompt must contain text or an attachment\",\n {},\n \"empty_prompt\",\n );\n }\n this.#store.write(\n new AcpStoredSession(\n this.#mobiusSessionId,\n this.#agentId,\n this.#nativeSessionId,\n this.#cwd,\n this.#additionalDirectories,\n true,\n ),\n );\n this.#prompted = true;\n const running = new RunningAcpTurn(\n options.commandId,\n options.onActivity,\n options.onText,\n );\n this.#turn = running;\n try {\n const response = await this.race(\n this.#connection.agent.request(\n methods.agent.session.prompt,\n { prompt, sessionId: this.#nativeSessionId },\n { cancellationSignal: options.signal },\n ),\n \"ACP agent exited during a prompt\",\n options.signal,\n );\n await this.#updateTail;\n await running.activities.finish();\n return { stopReason: response.stopReason };\n } catch (error) {\n await running.activities.finish();\n if (error instanceof AcpExecutionError) {\n throw error;\n }\n throw new AcpExecutionError(\"ACP agent execution failed\", {\n cause: error,\n });\n } finally {\n this.#turn = new IdleAcpTurn();\n }\n };\n\n readonly cancel = async (): Promise<void> => {\n await this.cancelPendingInteractions();\n if (!this.#turn.running) {\n return;\n }\n await this.#connection.agent.notify(methods.agent.session.cancel, {\n sessionId: this.#nativeSessionId,\n });\n };\n\n readonly respondPermission = async (\n options: AcpPermissionResponseOptions,\n ): Promise<void> => {\n const pending = this.#pendingPermissions.get(options.interactionId);\n if (pending === undefined) {\n throw new AcpExecutionError(\n \"The permission request is no longer active\",\n {},\n \"permission_request_not_found\",\n );\n }\n if (\n options.outcome === \"selected\" &&\n !pending.optionIds.has(options.optionId)\n ) {\n throw new AcpExecutionError(\n \"The selected permission option is unavailable\",\n {},\n \"invalid_permission_response\",\n );\n }\n const resolved =\n options.outcome === \"selected\"\n ? pending.select(options.optionId)\n : pending.cancel();\n if (!resolved) {\n throw new AcpExecutionError(\n \"The permission request was already resolved\",\n {},\n \"permission_request_not_found\",\n );\n }\n this.#pendingPermissions.delete(options.interactionId);\n await this.#getObserver().onPermissionResolved({\n interactionId: options.interactionId,\n kind: SESSION_PERMISSION_RESOLVED_KIND,\n optionId: options.outcome === \"selected\" ? options.optionId : \"\",\n outcome: options.outcome,\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n sessionId: this.#mobiusSessionId,\n });\n };\n\n readonly respondElicitation = async (\n options: AcpElicitationResponseOptions,\n ): Promise<void> => {\n const pending = this.#pendingElicitations.get(options.interactionId);\n if (pending === undefined) {\n throw new AcpExecutionError(\n \"The elicitation request is no longer active\",\n {},\n \"elicitation_request_not_found\",\n );\n }\n let resolved = false;\n if (options.action === \"accept\") {\n if (pending.elicitationId.length > 0) {\n resolved = pending.accept({});\n if (resolved) {\n this.#acceptedUrlElicitations.set(\n pending.elicitationId,\n pending.interactionId,\n );\n }\n } else {\n resolved = pending.accept(\n validateElicitationContent(options.content, pending.requestedSchema),\n );\n }\n } else if (options.action === \"decline\") {\n resolved = pending.decline();\n } else {\n resolved = pending.cancel();\n }\n if (!resolved) {\n throw new AcpExecutionError(\n \"The elicitation request was already resolved\",\n {},\n \"elicitation_request_not_found\",\n );\n }\n this.#pendingElicitations.delete(options.interactionId);\n await this.#getObserver().onElicitationResolved({\n action: options.action,\n interactionId: options.interactionId,\n kind: SESSION_ELICITATION_RESOLVED_KIND,\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n sessionId: this.#mobiusSessionId,\n });\n };\n\n readonly onPermission = async (\n request: RequestPermissionRequest,\n signal: AbortSignal,\n ): Promise<RequestPermissionResponse> => {\n this.assertNativeSession(request.sessionId);\n const interactionId = `permission-${crypto.randomUUID()}`;\n const options: SessionPermissionOption[] = request.options\n .slice(0, 20)\n .map((option) => ({\n kind: option.kind,\n name: truncate(option.name, 255),\n optionId: truncate(option.optionId, 255),\n }));\n if (options.length === 0) {\n throw new AcpExecutionError(\n \"ACP permission request did not provide any choices\",\n {},\n \"invalid_agent_permission_request\",\n );\n }\n const pending = new PendingPermission(\n interactionId,\n new Set(options.map((option) => option.optionId)),\n );\n this.#pendingPermissions.set(interactionId, pending);\n const abort = (): void => {\n void this.cancelPermission(interactionId);\n };\n signal.addEventListener(\"abort\", abort, { once: true });\n try {\n await this.#getObserver().onPermission({\n commandId: this.#turn.commandId,\n interactionId,\n kind: SESSION_PERMISSION_REQUESTED_KIND,\n options,\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n sessionId: this.#mobiusSessionId,\n title: truncate(request.toolCall.title ?? \"Permission required\", 500),\n toolCallId: truncate(request.toolCall.toolCallId, 255),\n toolKind: truncate(request.toolCall.kind ?? \"other\", 64),\n });\n return await pending.completion.promise;\n } finally {\n signal.removeEventListener(\"abort\", abort);\n this.#pendingPermissions.delete(interactionId);\n }\n };\n\n readonly onElicitation = async (\n request: CreateElicitationRequest,\n signal: AbortSignal,\n ): Promise<CreateElicitationResponse> => {\n const sessionId = Reflect.get(request, \"sessionId\");\n if (typeof sessionId !== \"string\") {\n throw new AcpExecutionError(\n \"Mobius only accepts session-scoped ACP elicitations\",\n {},\n \"unsupported_elicitation_scope\",\n );\n }\n this.assertNativeSession(sessionId);\n if (request.mode !== \"form\" && request.mode !== \"url\") {\n throw new AcpExecutionError(\n \"The ACP agent requested an unsupported elicitation mode\",\n {},\n \"unsupported_elicitation_mode\",\n );\n }\n const interactionId = `elicitation-${crypto.randomUUID()}`;\n const schemaValue = Reflect.get(request, \"requestedSchema\");\n const requestedSchema = request.mode === \"form\" ? schemaValue : {};\n const elicitationIdValue = Reflect.get(request, \"elicitationId\");\n const elicitationId =\n request.mode === \"url\" && typeof elicitationIdValue === \"string\"\n ? truncate(elicitationIdValue, 255)\n : \"\";\n const pending = new PendingElicitation(\n interactionId,\n elicitationId,\n requestedSchema,\n );\n this.#pendingElicitations.set(interactionId, pending);\n const abort = (): void => {\n void this.cancelElicitation(interactionId);\n };\n signal.addEventListener(\"abort\", abort, { once: true });\n try {\n await this.#getObserver().onElicitation({\n accepted: false,\n commandId: this.#turn.commandId,\n elicitationId,\n fields: normalizeElicitationFields(requestedSchema),\n interactionId,\n kind: SESSION_ELICITATION_REQUESTED_KIND,\n message: truncate(request.message, 2_000),\n mode: request.mode,\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n sessionId: this.#mobiusSessionId,\n url:\n request.mode === \"url\" &&\n typeof Reflect.get(request, \"url\") === \"string\"\n ? truncate(readString(Reflect.get(request, \"url\")), 4_096)\n : \"\",\n });\n return await pending.completion.promise;\n } finally {\n signal.removeEventListener(\"abort\", abort);\n this.#pendingElicitations.delete(interactionId);\n }\n };\n\n readonly onElicitationComplete = async (\n notification: CompleteElicitationNotification,\n ): Promise<void> => {\n const interactionId = this.#acceptedUrlElicitations.get(\n notification.elicitationId,\n );\n if (interactionId === undefined) {\n return;\n }\n this.#acceptedUrlElicitations.delete(notification.elicitationId);\n await this.#getObserver().onElicitationResolved({\n action: \"complete\",\n interactionId,\n kind: SESSION_ELICITATION_RESOLVED_KIND,\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n sessionId: this.#mobiusSessionId,\n });\n };\n\n readonly onUpdate = (notification: SessionNotification): Promise<void> => {\n this.#updateTail = this.#updateTail.then(\n async () => await this.processUpdate(notification),\n );\n return this.#updateTail;\n };\n\n readonly processUpdate = async (\n notification: SessionNotification,\n ): Promise<void> => {\n this.assertNativeSession(notification.sessionId);\n const update = notification.update;\n if (\n this.#replaying &&\n (update.sessionUpdate === \"user_message_chunk\" ||\n update.sessionUpdate === \"agent_message_chunk\" ||\n update.sessionUpdate === \"agent_thought_chunk\" ||\n update.sessionUpdate === \"tool_call\" ||\n update.sessionUpdate === \"tool_call_update\" ||\n update.sessionUpdate === \"plan\" ||\n update.sessionUpdate === \"plan_update\" ||\n update.sessionUpdate === \"plan_removed\")\n ) {\n return;\n }\n if (update.sessionUpdate === \"agent_message_chunk\") {\n if (update.content.type === \"text\") {\n if (isProgressMessage(update)) {\n await this.#turn.activities.recordNarrative(\n \"progress\",\n update.messageId ?? \"current\",\n update.content.text,\n );\n } else {\n await this.#turn.activities.finishNarrative();\n await this.#turn.onText(update.content.text);\n }\n } else {\n await this.#turn.activities.finishNarrative();\n await this.#getObserver().onContent({\n commandId: this.#turn.commandId,\n content: normalizeContentBlock(update.content),\n contentId: `content-${crypto.randomUUID()}`,\n kind: AGENT_CONTENT_KIND,\n messageId: truncate(update.messageId ?? \"\", 255),\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n sessionId: this.#mobiusSessionId,\n });\n }\n return;\n }\n if (update.sessionUpdate === \"agent_thought_chunk\") {\n if (update.content.type === \"text\") {\n await this.#turn.activities.recordNarrative(\n \"reasoning\",\n update.messageId ?? \"current\",\n update.content.text,\n );\n }\n return;\n }\n if (update.sessionUpdate === \"tool_call\") {\n await this.#turn.activities.recordToolCall(update);\n return;\n }\n if (update.sessionUpdate === \"tool_call_update\") {\n await this.#turn.activities.recordToolCallUpdate(update);\n return;\n }\n if (update.sessionUpdate === \"plan\") {\n await this.#turn.activities.recordPlan(update);\n return;\n }\n if (update.sessionUpdate === \"plan_update\") {\n await this.#turn.activities.recordPlanUpdate(update);\n return;\n }\n if (update.sessionUpdate === \"plan_removed\") {\n await this.#turn.activities.removePlan(update);\n return;\n }\n if (update.sessionUpdate === \"available_commands_update\") {\n const commands: SessionCommand[] = update.availableCommands\n .slice(0, 500)\n .map((command) => ({\n description: truncate(command.description, 500),\n inputHint: truncate(command.input?.hint ?? \"\", 255),\n name: truncate(command.name, 128),\n }))\n .filter((command) => command.name.length > 0);\n this.#commands = commands;\n await this.#getObserver().onCommands({\n commands,\n kind: SESSION_COMMANDS_UPDATED_KIND,\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n sessionId: this.#mobiusSessionId,\n });\n return;\n }\n if (update.sessionUpdate === \"config_option_update\") {\n this.#configOptions = replaceConfigOptionsKeepingMode(\n this.#configOptions,\n update.configOptions,\n );\n await this.emitConfigUpdate();\n return;\n }\n if (update.sessionUpdate === \"current_mode_update\") {\n this.#configOptions = this.#configOptions.map((option) =>\n option.category === \"mode\"\n ? { ...option, currentValue: update.currentModeId }\n : option,\n );\n await this.emitConfigUpdate();\n return;\n }\n if (update.sessionUpdate === \"session_info_update\") {\n if (Object.hasOwn(update, \"title\")) {\n this.#sessionTitle = truncate(update.title ?? \"\", 500);\n }\n if (Object.hasOwn(update, \"updatedAt\")) {\n this.#sessionUpdatedAt = truncate(update.updatedAt ?? \"\", 128);\n }\n await this.#getObserver().onInfo({\n kind: SESSION_INFO_UPDATED_KIND,\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n sessionId: this.#mobiusSessionId,\n title: this.#sessionTitle,\n updatedAt: this.#sessionUpdatedAt,\n });\n return;\n }\n if (update.sessionUpdate === \"usage_update\") {\n await this.#getObserver().onUsage({\n costAmount: update.cost?.amount ?? 0,\n costCurrency: truncate(update.cost?.currency ?? \"\", 16),\n hasCost: update.cost !== undefined && update.cost !== null,\n kind: SESSION_USAGE_UPDATED_KIND,\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n sessionId: this.#mobiusSessionId,\n size: Math.max(0, Math.trunc(update.size)),\n used: Math.max(0, Math.trunc(update.used)),\n });\n }\n };\n\n readonly close = async (): Promise<void> => {\n await this.cancelPendingInteractions();\n if (this.#capabilities.closeSession && this.#nativeSessionId.length > 0) {\n try {\n await this.#connection.agent.request(\n methods.agent.session.close,\n { sessionId: this.#nativeSessionId },\n {\n cancellationSignal: AbortSignal.timeout(\n PROCESS_STOP_TIMEOUT_MILLISECONDS,\n ),\n },\n );\n } catch {\n // Process teardown below remains authoritative.\n }\n }\n await this.closeProcess();\n };\n\n readonly closeProcess = async (): Promise<void> => {\n this.#connection.close();\n await stopAgentProcess(this.#child);\n };\n\n readonly race = async <T>(\n operation: Promise<T>,\n exitMessage: string,\n signal: AbortSignal,\n ): Promise<T> => {\n signal.throwIfAborted();\n let removeAbortListener = (): void => {};\n const aborted = new Promise<never>((_resolve, reject) => {\n const rejectAbort = (): void => {\n reject(signal.reason ?? new Error(\"ACP request was cancelled\"));\n };\n signal.addEventListener(\"abort\", rejectAbort, { once: true });\n removeAbortListener = (): void => {\n signal.removeEventListener(\"abort\", rejectAbort);\n };\n });\n try {\n return await Promise.race([\n operation,\n this.#processExit.then(() => {\n throw new AcpExecutionError(exitMessage);\n }),\n aborted,\n ]);\n } finally {\n removeAbortListener();\n }\n };\n\n readonly assertNativeSession = (sessionId: string): void => {\n if (sessionId !== this.#nativeSessionId) {\n throw new AcpExecutionError(\n \"ACP agent referenced an unknown session\",\n {},\n \"invalid_agent_session\",\n );\n }\n };\n\n readonly emitConfigUpdate = async (): Promise<void> => {\n await this.#getObserver().onConfig({\n configOptions: this.#configOptions,\n kind: SESSION_CONFIG_UPDATED_KIND,\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n requestId: `agent-update-${crypto.randomUUID()}`,\n sessionId: this.#mobiusSessionId,\n });\n };\n\n readonly cancelPermission = async (interactionId: string): Promise<void> => {\n const pending = this.#pendingPermissions.get(interactionId);\n if (pending === undefined || !pending.cancel()) {\n return;\n }\n this.#pendingPermissions.delete(interactionId);\n await this.#getObserver().onPermissionResolved({\n interactionId,\n kind: SESSION_PERMISSION_RESOLVED_KIND,\n optionId: \"\",\n outcome: \"cancelled\",\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n sessionId: this.#mobiusSessionId,\n });\n };\n\n readonly cancelElicitation = async (interactionId: string): Promise<void> => {\n const pending = this.#pendingElicitations.get(interactionId);\n if (pending === undefined || !pending.cancel()) {\n return;\n }\n this.#pendingElicitations.delete(interactionId);\n await this.#getObserver().onElicitationResolved({\n action: \"cancel\",\n interactionId,\n kind: SESSION_ELICITATION_RESOLVED_KIND,\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n sessionId: this.#mobiusSessionId,\n });\n };\n\n readonly cancelPendingInteractions = async (): Promise<void> => {\n const permissionIds = [...this.#pendingPermissions.keys()];\n const elicitationIds = [...this.#pendingElicitations.keys()];\n const acceptedElicitationIds = [...this.#acceptedUrlElicitations.values()];\n this.#acceptedUrlElicitations.clear();\n for (const interactionId of permissionIds) {\n await this.cancelPermission(interactionId);\n }\n for (const interactionId of elicitationIds) {\n await this.cancelElicitation(interactionId);\n }\n for (const interactionId of acceptedElicitationIds) {\n await this.#getObserver().onElicitationResolved({\n action: \"cancel\",\n interactionId,\n kind: SESSION_ELICITATION_RESOLVED_KIND,\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n sessionId: this.#mobiusSessionId,\n });\n }\n };\n}\n\nexport class AcpSessionManager {\n readonly #activeSessionIds = new Set<string>();\n readonly #cancellationRequests = new Set<string>();\n readonly #preparing = new Map<string, Promise<AcpProcessSession>>();\n readonly #sessions = new Map<string, AcpProcessSession>();\n readonly #store: AcpSessionStore;\n #observer: AcpSessionObserver;\n\n constructor(\n observer: AcpSessionObserver = new NullAcpSessionObserver(),\n store: AcpSessionStore = new MemoryAcpSessionStore(),\n ) {\n this.#observer = observer;\n this.#store = store;\n }\n\n readonly setObserver = (observer: AcpSessionObserver): void => {\n this.#observer = observer;\n };\n\n async #startPreparation(\n options: AcpPrepareOptions,\n ): Promise<AcpProcessSession> {\n const operation = (async () => {\n try {\n const runtime = await AcpProcessSession.start(\n options,\n () => this.#observer,\n this.#store,\n );\n this.#sessions.set(options.sessionId, runtime);\n return runtime;\n } finally {\n this.#preparing.delete(options.sessionId);\n }\n })();\n this.#preparing.set(options.sessionId, operation);\n return await operation;\n }\n\n async #replacePreparation(\n existing: AcpProcessSession,\n options: AcpPrepareOptions,\n ): Promise<AcpProcessSession> {\n const operation = (async () => {\n try {\n this.#sessions.delete(options.sessionId);\n await existing.close();\n this.#store.remove(options.sessionId);\n const runtime = await AcpProcessSession.start(\n options,\n () => this.#observer,\n this.#store,\n );\n this.#sessions.set(options.sessionId, runtime);\n return runtime;\n } finally {\n this.#preparing.delete(options.sessionId);\n }\n })();\n this.#preparing.set(options.sessionId, operation);\n return await operation;\n }\n\n readonly prepareSession = async (\n options: AcpPrepareOptions,\n ): Promise<AcpPreparedSession> => {\n const pending = this.#preparing.get(options.sessionId);\n if (pending !== undefined) {\n const runtime = await pending;\n if (\n runtime.belongsTo(\n options.agent.id,\n options.cwd,\n options.additionalDirectories,\n )\n ) {\n return runtime.prepared();\n }\n return await this.prepareSession(options);\n }\n const existing = this.#sessions.get(options.sessionId);\n if (existing !== undefined) {\n if (\n existing.belongsTo(\n options.agent.id,\n options.cwd,\n options.additionalDirectories,\n )\n ) {\n return existing.prepared();\n }\n if (!existing.canRebind()) {\n throw new AcpExecutionError(\n \"The agent or workspace cannot change after a conversation has started\",\n {},\n \"session_identity_mismatch\",\n );\n }\n const runtime = await this.#replacePreparation(existing, options);\n return runtime.prepared();\n }\n const runtime = await this.#startPreparation(options);\n return runtime.prepared();\n };\n\n readonly configureSession = async (\n options: AcpConfigureOptions,\n ): Promise<readonly SessionConfigOption[]> => {\n const runtime = await this.ensureSession(options);\n return await runtime.configure(options);\n };\n\n readonly cancelPrompt = async (sessionId: string): Promise<void> => {\n this.#cancellationRequests.add(sessionId);\n const runtime = this.#sessions.get(sessionId);\n if (runtime !== undefined) {\n await runtime.cancel();\n }\n };\n\n readonly runPrompt = async (\n options: AcpTurnOptions,\n ): Promise<AcpPromptResult> => {\n if (this.#activeSessionIds.has(options.sessionId)) {\n throw new AcpExecutionError(\n \"Another prompt is already running in this conversation\",\n {},\n \"session_busy\",\n );\n }\n this.#activeSessionIds.add(options.sessionId);\n try {\n if (this.#cancellationRequests.has(options.sessionId)) {\n return { stopReason: \"cancelled\" };\n }\n const runtime = await this.ensureSession(options);\n if (this.#cancellationRequests.has(options.sessionId)) {\n return { stopReason: \"cancelled\" };\n }\n return await runtime.prompt(options);\n } catch (error) {\n const failedRuntime = this.#sessions.get(options.sessionId);\n if (failedRuntime !== undefined) {\n this.#sessions.delete(options.sessionId);\n await failedRuntime.close();\n }\n if (error instanceof AcpExecutionError) {\n throw error;\n }\n throw new AcpExecutionError(\"ACP agent execution failed\", {\n cause: error,\n });\n } finally {\n this.#activeSessionIds.delete(options.sessionId);\n this.#cancellationRequests.delete(options.sessionId);\n }\n };\n\n readonly respondPermission = async (\n options: AcpPermissionResponseOptions,\n ): Promise<void> => {\n const runtime = this.#sessions.get(options.sessionId);\n if (runtime === undefined) {\n throw new AcpExecutionError(\n \"The permission request session is unavailable\",\n {},\n \"session_not_found\",\n );\n }\n await runtime.respondPermission(options);\n };\n\n readonly respondElicitation = async (\n options: AcpElicitationResponseOptions,\n ): Promise<void> => {\n const runtime = this.#sessions.get(options.sessionId);\n if (runtime === undefined) {\n throw new AcpExecutionError(\n \"The elicitation request session is unavailable\",\n {},\n \"session_not_found\",\n );\n }\n await runtime.respondElicitation(options);\n };\n\n readonly close = async (): Promise<void> => {\n const sessions = [...this.#sessions.values()];\n this.#sessions.clear();\n await Promise.all(sessions.map(async (session) => await session.close()));\n };\n\n readonly ensureSession = async (\n options: AcpPrepareOptions,\n ): Promise<AcpProcessSession> => {\n const existing = this.#sessions.get(options.sessionId);\n if (existing !== undefined) {\n if (\n !existing.belongsTo(\n options.agent.id,\n options.cwd,\n options.additionalDirectories,\n )\n ) {\n throw new AcpExecutionError(\n \"The agent or workspace cannot change after a conversation has started\",\n {},\n \"session_identity_mismatch\",\n );\n }\n return existing;\n }\n await this.prepareSession(options);\n const started = this.#sessions.get(options.sessionId);\n if (started === undefined) {\n throw new AcpExecutionError(\"ACP session did not start\");\n }\n return started;\n };\n}\n", "import type {\n ContentBlock,\n ContentChunk,\n Plan,\n PlanEntry,\n PlanRemoved,\n PlanUpdate,\n ToolCall,\n ToolCallContent,\n ToolCallLocation,\n ToolCallUpdate,\n} from \"@agentclientprotocol/sdk\";\nimport {\n AGENT_ACTIVITY_DETAIL_LIMIT,\n AGENT_ACTIVITY_LOCATION_LENGTH_LIMIT,\n AGENT_ACTIVITY_LOCATION_LIMIT,\n type AgentDisplayContent,\n} from \"@moxt-ai/mobius-protocol\";\n\nconst TRUNCATION_MARKER = \"\\n\u2026 output truncated by Mobius\";\n\nfunction isRecord(value: unknown): value is Readonly<Record<string, unknown>> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nexport class AcpActivity {\n readonly activityId: string;\n readonly activityType: string;\n readonly input: string;\n readonly locations: readonly string[];\n readonly name: string;\n readonly output: string;\n readonly sequence: number;\n readonly status: string;\n readonly title: string;\n readonly toolKind: string;\n readonly content: readonly AgentDisplayContent[];\n\n constructor(\n activityId: string,\n activityType: string,\n input: string,\n locations: readonly string[],\n name: string,\n output: string,\n sequence: number,\n status: string,\n title: string,\n toolKind: string,\n content: readonly AgentDisplayContent[] = [],\n ) {\n this.activityId = activityId;\n this.activityType = activityType;\n this.input = input;\n this.locations = locations;\n this.name = name;\n this.output = output;\n this.sequence = sequence;\n this.status = status;\n this.title = title;\n this.toolKind = toolKind;\n this.content = content;\n }\n\n readonly complete = (): AcpActivity =>\n (this.activityType === \"progress\" || this.activityType === \"reasoning\") &&\n (this.status === \"pending\" || this.status === \"running\")\n ? new AcpActivity(\n this.activityId,\n this.activityType,\n this.input,\n this.locations,\n this.name,\n this.output,\n this.sequence,\n \"completed\",\n this.title,\n this.toolKind,\n this.content,\n )\n : this;\n}\n\nclass ActivityIdentity {\n readonly id: string;\n readonly sequence: number;\n\n constructor(id: string, sequence: number) {\n this.id = id;\n this.sequence = sequence;\n }\n}\n\nfunction truncate(value: string, maximumLength: number): string {\n if (value.length <= maximumLength) {\n return value;\n }\n return `${value.slice(0, maximumLength - TRUNCATION_MARKER.length)}${TRUNCATION_MARKER}`;\n}\n\nfunction formatUnknown(value: unknown): string {\n if (typeof value === \"string\") {\n return truncate(value, AGENT_ACTIVITY_DETAIL_LIMIT);\n }\n try {\n const encoded = JSON.stringify(value, null, 2);\n return truncate(encoded ?? \"\", AGENT_ACTIVITY_DETAIL_LIMIT);\n } catch {\n return truncate(String(value), AGENT_ACTIVITY_DETAIL_LIMIT);\n }\n}\n\nfunction readContentOutput(content: unknown): string {\n if (!Array.isArray(content) || content.length === 0) {\n return \"\";\n }\n return formatUnknown(content);\n}\n\nfunction emptyDisplayContent(\n type: AgentDisplayContent[\"type\"],\n): AgentDisplayContent {\n return {\n data: \"\",\n mimeType: \"\",\n name: \"\",\n newText: \"\",\n oldText: \"\",\n path: \"\",\n terminalId: \"\",\n text: \"\",\n type,\n uri: \"\",\n };\n}\n\nexport function normalizeContentBlock(\n content: ContentBlock,\n): AgentDisplayContent {\n if (content.type === \"text\") {\n return { ...emptyDisplayContent(\"text\"), text: content.text };\n }\n if (content.type === \"image\") {\n return {\n ...emptyDisplayContent(\"image\"),\n data: content.data,\n mimeType: content.mimeType,\n uri: content.uri ?? \"\",\n };\n }\n if (content.type === \"resource_link\") {\n return {\n ...emptyDisplayContent(\"resource_link\"),\n mimeType: content.mimeType ?? \"\",\n name: content.name,\n uri: content.uri,\n };\n }\n if (content.type === \"resource\") {\n if (\"text\" in content.resource) {\n return {\n ...emptyDisplayContent(\"resource\"),\n mimeType: content.resource.mimeType ?? \"\",\n text: content.resource.text,\n uri: content.resource.uri,\n };\n }\n return {\n ...emptyDisplayContent(\"resource\"),\n data: content.resource.blob,\n mimeType: content.resource.mimeType ?? \"\",\n uri: content.resource.uri,\n };\n }\n return {\n ...emptyDisplayContent(\"resource\"),\n data: content.data,\n mimeType: content.mimeType,\n };\n}\n\nfunction normalizeToolContent(\n content: readonly ToolCallContent[],\n): readonly AgentDisplayContent[] {\n const normalized: AgentDisplayContent[] = [];\n for (const item of content) {\n if (item.type === \"diff\") {\n normalized.push({\n ...emptyDisplayContent(\"diff\"),\n newText: item.newText,\n oldText: item.oldText ?? \"\",\n path: item.path,\n });\n continue;\n }\n if (item.type === \"terminal\") {\n normalized.push({\n ...emptyDisplayContent(\"terminal\"),\n terminalId: item.terminalId,\n });\n continue;\n }\n normalized.push(normalizeContentBlock(item.content));\n }\n return normalized;\n}\n\nfunction normalizeLocations(\n locations: readonly ToolCallLocation[],\n): readonly string[] {\n const normalized: string[] = [];\n const unique = new Set<string>();\n for (const location of locations) {\n if (normalized.length === AGENT_ACTIVITY_LOCATION_LIMIT) {\n break;\n }\n const suffix =\n typeof location.line === \"number\" ? `:${location.line.toString()}` : \"\";\n const value = truncate(\n `${location.path}${suffix}`,\n AGENT_ACTIVITY_LOCATION_LENGTH_LIMIT,\n );\n if (value.length > 0 && !unique.has(value)) {\n unique.add(value);\n normalized.push(value);\n }\n }\n return normalized;\n}\n\nfunction normalizeToolStatus(status: string, fallback: string): string {\n if (status === \"pending\") {\n return \"pending\";\n }\n if (status === \"in_progress\") {\n return \"running\";\n }\n if (status === \"completed\" || status === \"failed\") {\n return status;\n }\n return fallback;\n}\n\nfunction normalizeTitle(title: string, fallback: string): string {\n const normalized = title.trim();\n return truncate(normalized.length === 0 ? fallback : normalized, 500);\n}\n\nfunction formatPlanEntries(entries: readonly PlanEntry[]): string {\n const lines: string[] = [];\n for (const entry of entries) {\n lines.push(`[${entry.status}] ${entry.content}`);\n }\n return truncate(lines.join(\"\\n\"), AGENT_ACTIVITY_DETAIL_LIMIT);\n}\n\nfunction planStatus(entries: readonly PlanEntry[]): string {\n if (entries.length === 0) {\n return \"completed\";\n }\n if (entries.every((entry) => entry.status === \"completed\")) {\n return \"completed\";\n }\n if (entries.some((entry) => entry.status === \"in_progress\")) {\n return \"running\";\n }\n return \"pending\";\n}\n\nfunction contentPhase(content: ContentChunk): string {\n const metadata = content._meta;\n if (metadata === undefined || metadata === null) {\n return \"\";\n }\n const codex = metadata[\"codex\"];\n if (!isRecord(codex)) {\n return \"\";\n }\n const phase = codex[\"phase\"];\n return typeof phase === \"string\" ? phase : \"\";\n}\n\nexport function isProgressMessage(content: ContentChunk): boolean {\n return contentPhase(content) === \"commentary\";\n}\n\nexport class AcpActivityTracker {\n readonly #activities = new Map<string, AcpActivity>();\n readonly #identities = new Map<string, ActivityIdentity>();\n readonly #onActivity: (activity: AcpActivity) => Promise<void>;\n #activeNarrativeKey = \"\";\n #nextSequence = 0;\n\n constructor(onActivity: (activity: AcpActivity) => Promise<void>) {\n this.#onActivity = onActivity;\n }\n\n readonly recordNarrative = async (\n activityType: string,\n messageId: string,\n text: string,\n ): Promise<void> => {\n const key = `${activityType}:${messageId}`;\n if (this.#activeNarrativeKey !== key) {\n await this.finishNarrative();\n }\n const previous = this.#activities.get(key);\n const identity = this.#identity(key);\n const activity = new AcpActivity(\n identity.id,\n activityType,\n \"\",\n [],\n \"\",\n truncate(`${previous?.output ?? \"\"}${text}`, AGENT_ACTIVITY_DETAIL_LIMIT),\n identity.sequence,\n \"running\",\n activityType === \"reasoning\" ? \"Reasoning\" : \"Progress update\",\n activityType === \"reasoning\" ? \"think\" : \"\",\n );\n await this.#record(key, activity);\n this.#activeNarrativeKey = key;\n };\n\n readonly recordPlan = async (plan: Plan): Promise<void> => {\n await this.finishNarrative();\n await this.#recordPlanEntries(\"plan:default\", plan.entries);\n };\n\n readonly recordPlanUpdate = async (update: PlanUpdate): Promise<void> => {\n await this.finishNarrative();\n const plan = update.plan;\n const key = `plan:${plan.planId}`;\n if (plan.type === \"items\") {\n await this.#recordPlanEntries(key, plan.entries);\n return;\n }\n const identity = this.#identity(key);\n const output =\n plan.type === \"markdown\" ? plan.content : `Plan file: ${plan.uri}`;\n await this.#record(\n key,\n new AcpActivity(\n identity.id,\n \"plan\",\n \"\",\n [],\n \"\",\n truncate(output, AGENT_ACTIVITY_DETAIL_LIMIT),\n identity.sequence,\n \"running\",\n \"Plan\",\n \"\",\n ),\n );\n };\n\n readonly removePlan = async (update: PlanRemoved): Promise<void> => {\n await this.finishNarrative();\n const key = `plan:${update.planId}`;\n const previous = this.#activities.get(key);\n if (previous !== undefined) {\n await this.#record(\n key,\n new AcpActivity(\n previous.activityId,\n previous.activityType,\n previous.input,\n previous.locations,\n previous.name,\n previous.output,\n previous.sequence,\n \"completed\",\n previous.title,\n previous.toolKind,\n previous.content,\n ),\n );\n }\n };\n\n readonly recordToolCall = async (update: ToolCall): Promise<void> => {\n await this.finishNarrative();\n const key = `tool:${update.toolCallId}`;\n const identity = this.#identity(key);\n const output =\n update.rawOutput === undefined\n ? readContentOutput(update.content)\n : formatUnknown(update.rawOutput);\n await this.#record(\n key,\n new AcpActivity(\n identity.id,\n \"tool\",\n update.rawInput === undefined ? \"\" : formatUnknown(update.rawInput),\n normalizeLocations(update.locations ?? []),\n truncate(update.name ?? \"\", 128),\n output,\n identity.sequence,\n normalizeToolStatus(update.status ?? \"pending\", \"pending\"),\n normalizeTitle(update.title, \"Tool call\"),\n update.kind ?? \"other\",\n normalizeToolContent(update.content ?? []),\n ),\n );\n };\n\n readonly recordToolCallUpdate = async (\n update: ToolCallUpdate,\n ): Promise<void> => {\n await this.finishNarrative();\n const key = `tool:${update.toolCallId}`;\n const previous = this.#activities.get(key);\n const identity = this.#identity(key);\n const output =\n update.rawOutput !== undefined\n ? formatUnknown(update.rawOutput)\n : update.content !== undefined && update.content !== null\n ? readContentOutput(update.content)\n : (previous?.output ?? \"\");\n const content =\n update.content === undefined || update.content === null\n ? (previous?.content ?? [])\n : normalizeToolContent(update.content);\n await this.#record(\n key,\n new AcpActivity(\n identity.id,\n \"tool\",\n update.rawInput === undefined\n ? (previous?.input ?? \"\")\n : formatUnknown(update.rawInput),\n update.locations === undefined || update.locations === null\n ? (previous?.locations ?? [])\n : normalizeLocations(update.locations),\n update.name === undefined || update.name === null\n ? (previous?.name ?? \"\")\n : truncate(update.name, 128),\n output,\n identity.sequence,\n update.status === undefined || update.status === null\n ? (previous?.status ?? \"pending\")\n : normalizeToolStatus(update.status, previous?.status ?? \"pending\"),\n update.title === undefined || update.title === null\n ? (previous?.title ?? \"Tool call\")\n : normalizeTitle(update.title, \"Tool call\"),\n update.kind === undefined || update.kind === null\n ? (previous?.toolKind ?? \"other\")\n : update.kind,\n content,\n ),\n );\n };\n\n readonly finishNarrative = async (): Promise<void> => {\n const key = this.#activeNarrativeKey;\n if (key.length === 0) {\n return;\n }\n this.#activeNarrativeKey = \"\";\n const activity = this.#activities.get(key);\n if (activity === undefined) {\n return;\n }\n const completed = activity.complete();\n if (completed !== activity) {\n await this.#record(key, completed);\n }\n };\n\n readonly finish = async (): Promise<void> => {\n await this.finishNarrative();\n const entries = [...this.#activities.entries()].sort(\n (left, right) => left[1].sequence - right[1].sequence,\n );\n for (const [key, activity] of entries) {\n const completed = activity.complete();\n if (completed !== activity) {\n await this.#record(key, completed);\n }\n }\n };\n\n readonly #identity = (key: string): ActivityIdentity => {\n const existing = this.#identities.get(key);\n if (existing !== undefined) {\n return existing;\n }\n const identity = new ActivityIdentity(\n `activity-${crypto.randomUUID()}`,\n this.#nextSequence,\n );\n this.#nextSequence += 1;\n this.#identities.set(key, identity);\n return identity;\n };\n\n readonly #record = async (\n key: string,\n activity: AcpActivity,\n ): Promise<void> => {\n this.#activities.set(key, activity);\n await this.#onActivity(activity);\n };\n\n readonly #recordPlanEntries = async (\n key: string,\n entries: readonly PlanEntry[],\n ): Promise<void> => {\n const identity = this.#identity(key);\n await this.#record(\n key,\n new AcpActivity(\n identity.id,\n \"plan\",\n \"\",\n [],\n \"\",\n formatPlanEntries(entries),\n identity.sequence,\n planStatus(entries),\n \"Plan\",\n \"\",\n ),\n );\n };\n}\n", "import {\n type ClientApp,\n type CompleteElicitationNotification,\n type CreateElicitationRequest,\n type CreateElicitationResponse,\n client,\n methods,\n type RequestPermissionRequest,\n type RequestPermissionResponse,\n type SessionNotification,\n} from \"@agentclientprotocol/sdk\";\n\nexport interface AcpClientHandler {\n readonly onElicitation: (\n request: CreateElicitationRequest,\n signal: AbortSignal,\n ) => Promise<CreateElicitationResponse>;\n readonly onElicitationComplete: (\n notification: CompleteElicitationNotification,\n ) => Promise<void>;\n readonly onPermission: (\n request: RequestPermissionRequest,\n signal: AbortSignal,\n ) => Promise<RequestPermissionResponse>;\n readonly onUpdate: (notification: SessionNotification) => Promise<void>;\n}\n\nexport const createAcpClient = (handler: AcpClientHandler): ClientApp =>\n client({ name: \"mobius\" })\n .onRequest(\n methods.client.session.requestPermission,\n async (context) =>\n await handler.onPermission(context.params, context.signal),\n )\n .onRequest(\n methods.client.elicitation.create,\n async (context) =>\n await handler.onElicitation(context.params, context.signal),\n )\n .onNotification(methods.client.session.update, async (context) => {\n await handler.onUpdate(context.params);\n })\n .onNotification(methods.client.elicitation.complete, async (context) => {\n await handler.onElicitationComplete(context.params);\n });\n", "import { mkdirSync } from \"node:fs\";\nimport { dirname } from \"node:path\";\nimport { DatabaseSync } from \"node:sqlite\";\n\nexport class AcpStoredSession {\n readonly additionalDirectories: readonly string[];\n readonly agentId: string;\n readonly cwd: string;\n readonly nativeSessionId: string;\n readonly prompted: boolean;\n readonly sessionId: string;\n\n constructor(\n sessionId: string,\n agentId: string,\n nativeSessionId: string,\n cwd: string,\n additionalDirectories: readonly string[],\n prompted: boolean,\n ) {\n this.additionalDirectories = [...additionalDirectories];\n this.agentId = agentId;\n this.cwd = cwd;\n this.nativeSessionId = nativeSessionId;\n this.prompted = prompted;\n this.sessionId = sessionId;\n }\n}\n\nexport abstract class AcpStoredSessionLookup {\n abstract readonly found: boolean;\n}\n\nclass MissingAcpStoredSession extends AcpStoredSessionLookup {\n readonly found = false;\n}\n\nexport class FoundAcpStoredSession extends AcpStoredSessionLookup {\n readonly found = true;\n readonly session: AcpStoredSession;\n\n constructor(session: AcpStoredSession) {\n super();\n this.session = session;\n }\n}\n\nexport interface AcpSessionStore {\n readonly read: (sessionId: string) => AcpStoredSessionLookup;\n readonly remove: (sessionId: string) => void;\n readonly write: (session: AcpStoredSession) => void;\n}\n\nfunction readString(value: unknown, field: string): string {\n if (typeof value !== \"string\" || value.length === 0) {\n throw new Error(`Stored ACP session has an invalid ${field}`);\n }\n return value;\n}\n\nfunction readAdditionalDirectories(value: unknown): readonly string[] {\n if (typeof value !== \"string\") {\n throw new Error(\"Stored ACP session has invalid additional directories\");\n }\n const decoded: unknown = JSON.parse(value);\n if (\n !Array.isArray(decoded) ||\n decoded.some((directory) => typeof directory !== \"string\")\n ) {\n throw new Error(\"Stored ACP session has invalid additional directories\");\n }\n return decoded;\n}\n\nfunction readPrompted(value: unknown): boolean {\n if (value === 0) {\n return false;\n }\n if (value === 1) {\n return true;\n }\n throw new Error(\"Stored ACP session has an invalid prompted state\");\n}\n\nfunction decodeSessionRow(row: unknown): AcpStoredSession {\n if (typeof row !== \"object\" || row === null || Array.isArray(row)) {\n throw new Error(\"Stored ACP session is not an object\");\n }\n return new AcpStoredSession(\n readString(Reflect.get(row, \"session_id\"), \"session ID\"),\n readString(Reflect.get(row, \"agent_id\"), \"agent ID\"),\n readString(Reflect.get(row, \"native_session_id\"), \"native session ID\"),\n readString(Reflect.get(row, \"cwd\"), \"working directory\"),\n readAdditionalDirectories(Reflect.get(row, \"additional_directories_json\")),\n readPrompted(Reflect.get(row, \"prompted\")),\n );\n}\n\nexport class MemoryAcpSessionStore implements AcpSessionStore {\n readonly #sessions = new Map<string, AcpStoredSession>();\n\n readonly read = (sessionId: string): AcpStoredSessionLookup => {\n const session = this.#sessions.get(sessionId);\n return session === undefined\n ? new MissingAcpStoredSession()\n : new FoundAcpStoredSession(session);\n };\n\n readonly remove = (sessionId: string): void => {\n this.#sessions.delete(sessionId);\n };\n\n readonly write = (session: AcpStoredSession): void => {\n this.#sessions.set(session.sessionId, session);\n };\n}\n\nexport class SqliteAcpSessionStore implements AcpSessionStore {\n readonly #database: DatabaseSync;\n\n constructor(path: string) {\n mkdirSync(dirname(path), { recursive: true });\n this.#database = new DatabaseSync(path);\n this.#database.exec(`\n CREATE TABLE IF NOT EXISTS acp_sessions (\n session_id TEXT PRIMARY KEY,\n agent_id TEXT NOT NULL,\n native_session_id TEXT NOT NULL,\n cwd TEXT NOT NULL,\n additional_directories_json TEXT NOT NULL,\n prompted INTEGER NOT NULL DEFAULT 0 CHECK (prompted IN (0, 1)),\n updated_at TEXT NOT NULL\n ) STRICT\n `);\n const columns = this.#database\n .prepare(\"PRAGMA table_info(acp_sessions)\")\n .all();\n const hasPromptedColumn = columns.some(\n (column) =>\n typeof column === \"object\" &&\n column !== null &&\n Reflect.get(column, \"name\") === \"prompted\",\n );\n if (!hasPromptedColumn) {\n this.#database.exec(`\n ALTER TABLE acp_sessions\n ADD COLUMN prompted INTEGER NOT NULL DEFAULT 1 CHECK (prompted IN (0, 1))\n `);\n }\n }\n\n readonly read = (sessionId: string): AcpStoredSessionLookup => {\n const row = this.#database\n .prepare(\n `\n SELECT\n session_id,\n agent_id,\n native_session_id,\n cwd,\n additional_directories_json,\n prompted\n FROM acp_sessions\n WHERE session_id = ?\n `,\n )\n .get(sessionId);\n return row === undefined\n ? new MissingAcpStoredSession()\n : new FoundAcpStoredSession(decodeSessionRow(row));\n };\n\n readonly remove = (sessionId: string): void => {\n this.#database\n .prepare(\"DELETE FROM acp_sessions WHERE session_id = ?\")\n .run(sessionId);\n };\n\n readonly write = (session: AcpStoredSession): void => {\n this.#database\n .prepare(\n `\n INSERT INTO acp_sessions (\n session_id,\n agent_id,\n native_session_id,\n cwd,\n additional_directories_json,\n prompted,\n updated_at\n ) VALUES (?, ?, ?, ?, ?, ?, ?)\n ON CONFLICT(session_id) DO UPDATE SET\n agent_id = excluded.agent_id,\n native_session_id = excluded.native_session_id,\n cwd = excluded.cwd,\n additional_directories_json = excluded.additional_directories_json,\n prompted = excluded.prompted,\n updated_at = excluded.updated_at\n `,\n )\n .run(\n session.sessionId,\n session.agentId,\n session.nativeSessionId,\n session.cwd,\n JSON.stringify(session.additionalDirectories),\n session.prompted ? 1 : 0,\n new Date().toISOString(),\n );\n };\n\n readonly close = (): void => {\n this.#database.close();\n };\n}\n", "import { realpath, stat } from \"node:fs/promises\";\n\nexport class LocalAuthorizationError extends Error {\n readonly code = \"local_authorization_failed\";\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n this.name = \"LocalAuthorizationError\";\n }\n}\n\nexport async function authorizeBinding(\n requestedBindingId: string,\n approvedBindingId: string,\n approvedRoot: string,\n): Promise<string> {\n if (requestedBindingId !== approvedBindingId) {\n throw new LocalAuthorizationError(\"The runtime binding is not authorized\");\n }\n\n try {\n const resolvedRoot = await realpath(approvedRoot);\n const metadata = await stat(resolvedRoot);\n if (!metadata.isDirectory()) {\n throw new LocalAuthorizationError(\"The approved root is not a directory\");\n }\n return resolvedRoot;\n } catch (error) {\n if (error instanceof LocalAuthorizationError) {\n throw error;\n }\n throw new LocalAuthorizationError(\"The approved root cannot be resolved\", {\n cause: error,\n });\n }\n}\n", "import { readdir, realpath, stat } from \"node:fs/promises\";\nimport {\n basename,\n dirname,\n isAbsolute,\n join,\n normalize,\n relative,\n} from \"node:path\";\n\nimport type { WorkspaceEntry } from \"@moxt-ai/mobius-protocol\";\n\nimport { LocalAuthorizationError } from \"./authorize-binding.ts\";\n\nconst ROOT_DIRECTORY_ID = \"root\";\nconst DIRECTORY_ID_PREFIX = \"dir-\";\nconst DIRECTORY_ID_PATTERN = /^[a-zA-Z0-9_-]+$/;\n\nexport class WorkspaceDirectoryListing {\n readonly directoryId: string;\n readonly directoryLabel: string;\n readonly entries: readonly WorkspaceEntry[];\n readonly parentDirectoryId: string;\n\n constructor(\n directoryId: string,\n directoryLabel: string,\n entries: readonly WorkspaceEntry[],\n parentDirectoryId: string,\n ) {\n this.directoryId = directoryId;\n this.directoryLabel = directoryLabel;\n this.entries = entries;\n this.parentDirectoryId = parentDirectoryId;\n }\n}\n\nfunction directoryId(relativePath: string): string {\n if (relativePath.length === 0) {\n return ROOT_DIRECTORY_ID;\n }\n return `${DIRECTORY_ID_PREFIX}${Buffer.from(relativePath, \"utf8\").toString(\"base64url\")}`;\n}\n\nfunction decodeDirectoryId(value: string): string {\n if (value === ROOT_DIRECTORY_ID) {\n return \"\";\n }\n if (!value.startsWith(DIRECTORY_ID_PREFIX)) {\n throw new LocalAuthorizationError(\"The workspace directory is invalid\");\n }\n const encoded = value.slice(DIRECTORY_ID_PREFIX.length);\n if (\n encoded.length === 0 ||\n encoded.length > 2_000 ||\n !DIRECTORY_ID_PATTERN.test(encoded)\n ) {\n throw new LocalAuthorizationError(\"The workspace directory is invalid\");\n }\n const decoded = Buffer.from(encoded, \"base64url\").toString(\"utf8\");\n if (Buffer.from(decoded, \"utf8\").toString(\"base64url\") !== encoded) {\n throw new LocalAuthorizationError(\"The workspace directory is invalid\");\n }\n const normalized = normalize(decoded);\n if (\n decoded.includes(\"\\0\") ||\n isAbsolute(decoded) ||\n normalized === \"..\" ||\n normalized.startsWith(`..${process.platform === \"win32\" ? \"\\\\\" : \"/\"}`) ||\n normalized !== decoded\n ) {\n throw new LocalAuthorizationError(\"The workspace directory is invalid\");\n }\n return normalized;\n}\n\nfunction isContained(root: string, target: string): boolean {\n const remainder = relative(root, target);\n return (\n remainder.length === 0 ||\n (!isAbsolute(remainder) &&\n remainder !== \"..\" &&\n !remainder.startsWith(`..${process.platform === \"win32\" ? \"\\\\\" : \"/\"}`))\n );\n}\n\nexport class WorkspaceDirectoryService {\n readonly #approvedBindingId: string;\n readonly #approvedRoot: string;\n\n constructor(approvedBindingId: string, approvedRoot: string) {\n this.#approvedBindingId = approvedBindingId;\n this.#approvedRoot = approvedRoot;\n }\n\n readonly resolve = async (\n requestedBindingId: string,\n requestedDirectoryId: string,\n ): Promise<string> => {\n if (requestedBindingId !== this.#approvedBindingId) {\n throw new LocalAuthorizationError(\n \"The runtime binding is not authorized\",\n );\n }\n const root = await this.resolveRoot();\n const relativePath = decodeDirectoryId(requestedDirectoryId);\n try {\n const target = await realpath(join(root, relativePath));\n const metadata = await stat(target);\n if (!metadata.isDirectory() || !isContained(root, target)) {\n throw new LocalAuthorizationError(\n \"The workspace directory is not authorized\",\n );\n }\n return target;\n } catch (error) {\n if (error instanceof LocalAuthorizationError) {\n throw error;\n }\n throw new LocalAuthorizationError(\n \"The workspace directory cannot be resolved\",\n { cause: error },\n );\n }\n };\n\n readonly list = async (\n requestedBindingId: string,\n requestedDirectoryId: string,\n ): Promise<WorkspaceDirectoryListing> => {\n const root = await this.resolveRoot();\n const logicalRelativePath = decodeDirectoryId(requestedDirectoryId);\n const target = await this.resolve(requestedBindingId, requestedDirectoryId);\n try {\n const entries: WorkspaceEntry[] = [];\n const children = await readdir(target, { withFileTypes: true });\n for (const child of children) {\n if (entries.length === 500) {\n break;\n }\n const logicalChild =\n logicalRelativePath.length === 0\n ? child.name\n : join(logicalRelativePath, child.name);\n try {\n const resolvedChild = await realpath(join(target, child.name));\n const metadata = await stat(resolvedChild);\n if (metadata.isDirectory() && isContained(root, resolvedChild)) {\n entries.push({\n directoryId: directoryId(logicalChild),\n name: child.name,\n });\n }\n } catch {\n // Unreadable and broken directory entries are omitted.\n }\n }\n entries.sort((left, right) => left.name.localeCompare(right.name));\n const labelSuffix = logicalRelativePath.replaceAll(\"\\\\\", \"/\");\n const parentRelative =\n logicalRelativePath.length === 0 || dirname(logicalRelativePath) === \".\"\n ? \"\"\n : dirname(logicalRelativePath);\n return new WorkspaceDirectoryListing(\n requestedDirectoryId,\n labelSuffix.length === 0\n ? basename(root)\n : `${basename(root)}/${labelSuffix}`,\n entries,\n requestedDirectoryId === ROOT_DIRECTORY_ID\n ? \"\"\n : directoryId(parentRelative),\n );\n } catch (error) {\n if (error instanceof LocalAuthorizationError) {\n throw error;\n }\n throw new LocalAuthorizationError(\n \"The workspace directory cannot be listed\",\n { cause: error },\n );\n }\n };\n\n readonly resolveMany = async (\n requestedBindingId: string,\n directoryIds: readonly string[],\n ): Promise<readonly string[]> => {\n const resolved: string[] = [];\n const unique = new Set<string>();\n for (const requestedDirectoryId of directoryIds) {\n const directory = await this.resolve(\n requestedBindingId,\n requestedDirectoryId,\n );\n if (!unique.has(directory)) {\n unique.add(directory);\n resolved.push(directory);\n }\n }\n return resolved;\n };\n\n readonly resolveRoot = async (): Promise<string> => {\n try {\n const root = await realpath(this.#approvedRoot);\n const metadata = await stat(root);\n if (!metadata.isDirectory()) {\n throw new LocalAuthorizationError(\n \"The approved root is not a directory\",\n );\n }\n return root;\n } catch (error) {\n if (error instanceof LocalAuthorizationError) {\n throw error;\n }\n throw new LocalAuthorizationError(\n \"The approved root cannot be resolved\",\n {\n cause: error,\n },\n );\n }\n };\n}\n", "import { WebSocket } from \"undici\";\n\nimport { environmentProxyDispatcher } from \"../network/environment-proxy.ts\";\n\nconst CONNECTION_TIMEOUT_MILLISECONDS = 15_000;\n\nclass RelayConnectionError extends Error {\n readonly code: string;\n\n constructor(code: string, message: string, options: ErrorOptions = {}) {\n super(message, options);\n this.code = code;\n this.name = \"RelayConnectionError\";\n }\n}\n\nexport function connectRelay(\n url: URL,\n signal: AbortSignal,\n): Promise<WebSocket> {\n signal.throwIfAborted();\n\n return new Promise((resolve, reject) => {\n const socket = new WebSocket(url, {\n dispatcher: environmentProxyDispatcher,\n });\n let finished = false;\n const timeout = setTimeout(onTimeout, CONNECTION_TIMEOUT_MILLISECONDS);\n\n const cleanup = (): void => {\n clearTimeout(timeout);\n signal.removeEventListener(\"abort\", onAbort);\n socket.removeEventListener(\"close\", onClose);\n socket.removeEventListener(\"error\", onError);\n socket.removeEventListener(\"open\", onOpen);\n };\n const fail = (error: RelayConnectionError): void => {\n if (finished) {\n return;\n }\n finished = true;\n cleanup();\n socket.close();\n reject(error);\n };\n const onAbort = (): void => {\n fail(\n new RelayConnectionError(\n \"relay_connection_cancelled\",\n \"Relay connection was cancelled\",\n { cause: signal.reason },\n ),\n );\n };\n const onClose = (): void => {\n fail(\n new RelayConnectionError(\n \"relay_connection_closed\",\n \"Relay connection closed before it was ready\",\n ),\n );\n };\n const onError = (): void => {\n fail(\n new RelayConnectionError(\n \"relay_connection_failed\",\n \"Relay connection failed\",\n ),\n );\n };\n const onOpen = (): void => {\n if (finished) {\n return;\n }\n finished = true;\n cleanup();\n resolve(socket);\n };\n function onTimeout(): void {\n fail(\n new RelayConnectionError(\n \"relay_connection_timeout\",\n \"Relay connection timed out\",\n ),\n );\n }\n\n signal.addEventListener(\"abort\", onAbort, { once: true });\n socket.addEventListener(\"close\", onClose, { once: true });\n socket.addEventListener(\"error\", onError, { once: true });\n socket.addEventListener(\"open\", onOpen, { once: true });\n\n if (signal.aborted) {\n onAbort();\n }\n });\n}\n", "import { randomUUID } from \"node:crypto\";\n\nimport {\n encodeRuntimeHeartbeatEvent,\n MOBIUS_PROTOCOL_VERSION,\n RUNTIME_HEARTBEAT_KIND,\n type RuntimeHeartbeatAckEvent,\n} from \"@moxt-ai/mobius-protocol\";\n\nimport type { DaemonScheduledTask, DaemonTimer } from \"./timer.ts\";\n\nconst HEARTBEAT_ACK_TIMEOUT_MILLISECONDS = 10_000;\nconst HEARTBEAT_INTERVAL_MILLISECONDS = 20_000;\n\nabstract class RelayLivenessState {}\n\nclass UnsupportedRelayLivenessState extends RelayLivenessState {}\n\nclass AwaitingHeartbeatAckState extends RelayLivenessState {\n readonly heartbeatId: string;\n readonly timeout: DaemonScheduledTask;\n\n constructor(heartbeatId: string, timeout: DaemonScheduledTask) {\n super();\n this.heartbeatId = heartbeatId;\n this.timeout = timeout;\n }\n}\n\nclass WaitingForHeartbeatState extends RelayLivenessState {\n readonly schedule: DaemonScheduledTask;\n\n constructor(schedule: DaemonScheduledTask) {\n super();\n this.schedule = schedule;\n }\n}\n\nclass FinishedRelayLivenessState extends RelayLivenessState {}\n\nexport interface RelayLivenessTransport {\n readonly send: (message: string) => void;\n readonly unresponsive: () => void;\n}\n\nexport class RelayConnectionLiveness {\n readonly #timer: DaemonTimer;\n readonly #transport: RelayLivenessTransport;\n #state: RelayLivenessState = new UnsupportedRelayLivenessState();\n\n constructor(timer: DaemonTimer, transport: RelayLivenessTransport) {\n this.#timer = timer;\n this.#transport = transport;\n }\n\n readonly acknowledge = (event: RuntimeHeartbeatAckEvent): void => {\n if (!(this.#state instanceof AwaitingHeartbeatAckState)) {\n throw new Error(\"Unexpected relay heartbeat acknowledgement\");\n }\n if (event.heartbeatId !== this.#state.heartbeatId) {\n throw new Error(\"Relay acknowledged the wrong heartbeat\");\n }\n this.#state.timeout.cancel();\n this.#state = new WaitingForHeartbeatState(\n this.#timer.schedule(\n this.#sendHeartbeat,\n HEARTBEAT_INTERVAL_MILLISECONDS,\n ),\n );\n };\n\n readonly close = (): void => {\n if (this.#state instanceof AwaitingHeartbeatAckState) {\n this.#state.timeout.cancel();\n } else if (this.#state instanceof WaitingForHeartbeatState) {\n this.#state.schedule.cancel();\n } else if (\n !(this.#state instanceof UnsupportedRelayLivenessState) &&\n !(this.#state instanceof FinishedRelayLivenessState)\n ) {\n throw new Error(\"Unknown relay liveness state\");\n }\n this.#state = new FinishedRelayLivenessState();\n };\n\n readonly start = (): void => {\n if (this.#state instanceof UnsupportedRelayLivenessState) {\n this.#sendHeartbeat();\n return;\n }\n if (\n this.#state instanceof AwaitingHeartbeatAckState ||\n this.#state instanceof WaitingForHeartbeatState\n ) {\n return;\n }\n if (this.#state instanceof FinishedRelayLivenessState) {\n return;\n }\n throw new Error(\"Unknown relay liveness state\");\n };\n\n readonly #handleTimeout = (): void => {\n if (this.#state instanceof FinishedRelayLivenessState) {\n return;\n }\n if (!(this.#state instanceof AwaitingHeartbeatAckState)) {\n throw new Error(\"Heartbeat timeout occurred in an invalid state\");\n }\n this.#state.timeout.cancel();\n this.#state = new FinishedRelayLivenessState();\n this.#transport.unresponsive();\n };\n\n readonly #sendHeartbeat = (): void => {\n if (this.#state instanceof WaitingForHeartbeatState) {\n this.#state.schedule.cancel();\n } else if (!(this.#state instanceof UnsupportedRelayLivenessState)) {\n if (this.#state instanceof FinishedRelayLivenessState) {\n return;\n }\n throw new Error(\"Heartbeat was scheduled in an invalid state\");\n }\n const heartbeatId = randomUUID();\n this.#state = new AwaitingHeartbeatAckState(\n heartbeatId,\n this.#timer.schedule(\n this.#handleTimeout,\n HEARTBEAT_ACK_TIMEOUT_MILLISECONDS,\n ),\n );\n this.#transport.send(\n encodeRuntimeHeartbeatEvent({\n heartbeatId,\n kind: RUNTIME_HEARTBEAT_KIND,\n protocolVersion: MOBIUS_PROTOCOL_VERSION,\n }),\n );\n };\n}\n", "export interface DaemonScheduledTask {\n readonly cancel: () => void;\n}\n\nexport interface DaemonTimer {\n readonly schedule: (\n callback: () => void,\n milliseconds: number,\n ) => DaemonScheduledTask;\n}\n\nclass SystemDaemonTimer implements DaemonTimer {\n readonly schedule = (\n callback: () => void,\n milliseconds: number,\n ): DaemonScheduledTask => {\n const timeout = setTimeout(callback, milliseconds);\n return { cancel: () => clearTimeout(timeout) };\n };\n}\n\nexport const systemDaemonTimer: DaemonTimer = new SystemDaemonTimer();\n", "#!/usr/bin/env node\n\nimport { AuditStore } from \"./audit/audit-store.ts\";\nimport type { DaemonConfig } from \"./config.ts\";\nimport {\n pairLocalMachine,\n resumeLocalMachine,\n} from \"./pairing/pair-local-machine.ts\";\nimport { runDaemon } from \"./run-daemon.ts\";\n\nconst shutdown = new AbortController();\nprocess.once(\"SIGINT\", () => shutdown.abort());\nprocess.once(\"SIGTERM\", () => shutdown.abort());\n\nconst USAGE = `Mobius CLI\n\nUsage:\n mobius pair --url <relay-url> --code <pairing-code> --root <workspace>\n mobius start --channel <channel-id>\n\nCommands:\n pair Pair this machine and start its local daemon\n start Start the local daemon for a saved channel\n`;\n\nasync function main(): Promise<void> {\n const command = process.argv[2];\n if (command === undefined || command === \"--help\" || command === \"-h\") {\n process.stdout.write(USAGE);\n return;\n }\n\n let config: DaemonConfig;\n if (command === \"pair\") {\n const paired = await pairLocalMachine(process.argv.slice(3));\n config = paired.config;\n process.stdout.write(\"\\nLocal machine paired.\\n\");\n process.stdout.write(`Channel: ${paired.channelUrl}\\n`);\n process.stdout.write(\n \"Open this channel in any browser while the daemon is running.\\n\",\n );\n process.stdout.write(`Connection saved to ${paired.connectionPath}\\n`);\n } else if (command === \"start\") {\n const paired = await resumeLocalMachine(process.argv.slice(3));\n config = paired.config;\n process.stdout.write(\"\\nSaved local machine channel loaded.\\n\");\n process.stdout.write(`Channel: ${paired.channelUrl}\\n`);\n process.stdout.write(\n \"Open this channel in any browser while the daemon is running.\\n\",\n );\n } else {\n throw new Error(USAGE.trimEnd());\n }\n\n process.stdout.write(\n \"Starting the local daemon. Keep this terminal open.\\n\\n\",\n );\n const audit = new AuditStore(config.auditDatabasePath);\n try {\n await runDaemon(config, audit, shutdown.signal);\n } finally {\n audit.close();\n }\n}\n\ntry {\n await main();\n} catch (error) {\n if (!shutdown.signal.aborted) {\n const message = error instanceof Error ? error.message : \"Unknown failure\";\n process.stderr.write(`Mobius daemon failed: ${message}\\n`);\n process.exitCode = 1;\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["record", "url", "error", "claim", "randomUUID", "basename", "_default", "base64", "base64url", "bigint", "boolean", "_catch", "cidrv4", "cidrv6", "core_exports", "creditCard", "cuid", "cuid2", "date", "decode", "decodeAsync", "describe", "e164", "email", "emoji", "encode", "encodeAsync", "_enum", "guid", "hex", "hostname", "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", "process", "array", "set", "input", "object", "Class", "_a", "config", "base64", "base64url", "hex", "initializer", "own", "proto", "_zodDesc", "error", "issue", "node", "_a", "parse", "parseAsync", "hostname", "version", "hostname", "_a", "inst", "input", "result", "_a", "checks", "checkResult", "canary", "result", "_", "url", "hostname", "base64", "input", "memo", "r", "isObject", "allowsEval", "results", "union", "map", "left", "right", "keyResult", "valueResult", "output", "cached", "check", "open", "_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", "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", "Class", "_emoji", "_undefined", "_null", "input", "Class", "issue", "codec", "json", "process", "_a", "meta", "id", "schema", "members", "required", "object", "union", "json", "file", "process", "optional", "record", "input", "registry", "ctx", "process", "schemas_exports", "_default", "base64", "base64url", "bigint", "boolean", "_catch", "cidrv4", "cidrv6", "creditCard", "cuid", "cuid2", "date", "describe", "e164", "email", "emoji", "_enum", "guid", "hex", "hostname", "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", "hostname", "hex", "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", "zodSchema", "version", "node", "cached", "bigint", "boolean", "date", "number", "string", "string", "number", "boolean", "bigint", "date", "IDENTIFIER_PATTERN", "error", "decode", "encode", "encode", "decode", "encode", "decode", "encode", "encode", "encode", "encode", "encode", "decode", "encode", "encode", "decode", "encode", "encode", "encode", "IDENTIFIER_PATTERN", "DIRECTORY_IDENTIFIER_PATTERN", "isRecord", "parseJson", "error", "parseJson", "parseJson", "WebSocket", "methods", "PROTOCOL_VERSION", "isRecord", "input", "output", "mkdirSync", "dirname", "DatabaseSync", "readString", "input", "error", "output", "resolve", "truncate", "isRecord", "readString", "required", "integer", "methods", "PROTOCOL_VERSION", "aborted", "runtime", "realpath", "stat", "basename", "dirname", "join", "directoryId", "realpath", "join", "stat", "error", "dirname", "basename", "url", "resolve", "error", "randomUUID", "randomUUID", "WebSocket", "error", "directoryId", "basename", "config", "randomUUID", "resolve", "turn", "command", "config", "error"]
7
7
  }